技术问询:Maven全包匹配器及SonarQube com包忽略规则配置
关于Maven匹配器和SonarQube包匹配的问题解答
1. 匹配所有包的Maven匹配器
分两种常用场景给你说明:
- 如果是在Maven依赖管理中(比如做依赖排除、统一版本管控),要匹配所有包的话,直接用通配符
*:*就行;要是想匹配某个固定groupId下的所有包,就写成[目标groupId]:*,比如com.example:*。 - 如果是在SonarQube的规则忽略配置里要匹配所有包,对应的资源匹配表达式是
**/*,这个能覆盖项目里所有的包和文件。
2. 匹配com.*下所有包的SonarQube正确配置
你当前用的 com/** 其实是匹配com目录下的所有文件和子目录,但SonarQube针对Java包的匹配得用正确的通配符格式——com.**。
给你修正后的配置代码:
<sonar.issue.ignore.multicriteria.e11.ruleKey>squid:S1228</sonar.issue.ignore.multicriteria.e11.ruleKey> <sonar.issue.ignore.multicriteria.e11.resourceKey>com.**</sonar.issue.ignore.multicriteria.e11.resourceKey>
com.** 会精准匹配com根包下的所有子包(不管嵌套多少层,比如com.foo、com.foo.bar都能命中),刚好满足你想免除com.*下所有包添加package-info文件的需求。
内容的提问来源于stack exchange,提问作者Mejmo
相关产品推荐
相关产品推荐

