SonarQube如何排除根目录下所有*.js文件?
解决SonarQube中排除根目录下所有*.js文件的问题
我来帮你搞定这个困扰——你之前尝试的sonar.coverage.exclusions=./*.js和sonar.coverage.exclusions=*.js没生效,大概率是对SonarQube的路径匹配逻辑理解有小偏差,或者配置场景没找对。
正确的配置方式
要只排除项目根目录下的所有.js文件(不会影响子目录里的JS文件),你可以直接用这个配置:
sonar.coverage.exclusions=*.js
如果想更明确地指定根路径(其实Sonar默认就以项目根为基准),也可以这么写:
sonar.coverage.exclusions=./*.js
为啥之前的配置没生效?
要是这俩规则还是不work,你可以排查这几个点:
- 配置位置不对:确保你是在项目根目录的
sonar-project.properties里加的配置,或者在SonarQube UI的项目专属配置里设置(注意UI里的配置会覆盖本地文件的设置)。 - 有冲突的规则:检查下有没有其他
sonar.exclusions或者包含规则和这个冲突了,Sonar会优先匹配更具体的路径规则。 - Sonar版本太老:如果用的是7.x及更早的版本,路径匹配的逻辑可能有点不一样,要么试试升级到新版本,要么如果只是临时解决,用
**/*.js可以排除所有JS文件(但这会把子目录的也排除,不推荐除非你需要)。
额外补充:不同场景的排除规则
给你整理几个常用的,方便以后用:
- 排除所有目录(含子目录)下的
.js文件:sonar.coverage.exclusions=**/*.js - 排除某个子目录下的所有
.js文件:sonar.coverage.exclusions=mydir/**/*.js
内容的提问来源于stack exchange,提问作者pkaramol
相关产品推荐
相关产品推荐

