Gradle项目如何配置排除指定包下的类不被Sonar扫描
Gradle Sonar扫描包排除配置方案
你之前配置不生效的核心原因是sonar.exclusions规则需要匹配到具体文件,原配置仅匹配目录层级未覆盖文件,修改配置如下即可生效:
sonarqube { properties { // 排除所有ws包下的所有类型文件 property 'sonar.exclusions', "**/ws/**/*" // 仅排除ws包下Java类可使用如下配置 // property 'sonar.exclusions', "**/ws/**/*.java" // 多个排除规则用英文逗号分隔即可 // property 'sonar.exclusions', "**/ws/**/*,**/test/**/*" } }
注意事项
- 多模块项目如果需要全局生效,将上述配置放在根目录的
build.gradle中;如果仅需排除单个子模块内的ws包,将配置放在对应子模块的build.gradle中即可 - 验证规则生效可以直接在扫描命令中临时加参数测试,示例命令:
./gradlew sonarqube -Dsonar.exclusions=**/ws/**/* - 排查配置加载问题可以在扫描命令后追加
-Dsonar.verbose=true,查看详细日志中的排除规则加载情况
内容的提问来源于stack exchange,提问作者Javier
相关产品推荐
相关产品推荐

