SonarQube Maven扫描仅识别pom.xml忽略sonar-project.properties如何解决
解决sonar-project.properties排除规则不生效的配置步骤
- 核心原因说明:Maven版Sonar扫描器默认不会主动读取项目下的
sonar-project.properties文件,该文件默认是给独立版sonar-scanner使用的,需要显式指定加载路径才会生效 - 方法1:执行扫描命令时临时指定配置文件路径
运行扫描命令时追加参数即可:mvn sonar:sonar -Dsonar.project.configFile=sonar-project.properties
如果配置文件不在项目根目录,将参数值替换为对应文件的相对/绝对路径即可 - 方法2:在pom.xml中固定配置文件加载路径
在pom的properties节点中增加以下配置,后续执行扫描命令无需额外加参数即可自动读取配置文件:<properties> <sonar.project.configFile>sonar-project.properties</sonar.project.configFile> </properties> - 必做校验项:
- 需先删除pom.xml中已配置的
sonar.exclusions属性,Sonar配置优先级为「命令行参数 > pom属性 > sonar-project.properties配置 > 服务端配置」,pom中已有同配置会覆盖properties文件的规则 - 确保sonar-project.properties文件路径填写正确,默认放在与pom.xml同级的项目根目录即可
- 排查时可在扫描命令后加
-X参数打印Debug日志,搜索sonar.exclusions字段确认加载的规则是否符合预期
- 需先删除pom.xml中已配置的
内容的提问来源于stack exchange,提问作者Canatto Filipe
相关产品推荐
相关产品推荐

