SonarQube如何分析包而非单个文件?批量分析Java文件配置指引
SonarQube 批量/包级分析配置指南
1. 如何分析整个包而非单个文件?
SonarQube 是通过通配符匹配目录结构来实现包级分析的(毕竟Java包和目录层级是一一对应的),你只需要在配置里用sonar.inclusions指定包对应的目录路径+通配符就搞定了:
- 比如要分析
com.example.service这个包下的所有文件,对应的配置是:
这里的sonar.inclusions=com/example/service/**/*.java**表示递归匹配该目录下的所有子目录,*.java匹配所有Java文件,刚好对应整个包的所有类文件。 - 如果要同时分析多个包,用逗号分隔路径即可:
sonar.inclusions=com/example/service/**/*.java, com/example/utils/**/*.java
2. 自动扫描目录下所有Java文件(无需逐个指定)
看你已经配置了sonar.sources指向源码目录,其实SonarQube默认就会自动扫描sonar.sources目录下的所有符合类型的源文件,完全不用手动逐个列文件!
优化你的现有配置:
如果要扫描
sonar.sources下所有Java文件:
要么直接删掉sonar.inclusions(默认规则会自动覆盖),要么把它改成更简洁的通配符:sonar.sources=C:/Users/x/Desktop/project/projectY/projectZ/src sonar.inclusions=**/*.java这样就会递归扫描
src目录下所有层级的Java文件,50个文件根本不用手动罗列!几个实用注意点:
- Windows路径推荐用正斜杠
/,避免反斜杠\的转义坑; - 如果你的项目需要基于编译后文件做深度检查,记得补充
sonar.java.binaries配置,指向你的编译输出目录(比如target/classes); - 要是想跳过某些文件/目录,用
sonar.exclusions就行,比如sonar.exclusions=**/test/**/*.java会自动跳过测试目录的文件。
- Windows路径推荐用正斜杠
内容的提问来源于stack exchange,提问作者user9685224
相关产品推荐
相关产品推荐

