所有包的maven匹配器是什么?

What is the maven matcher for all packages?

我想排除在我们的每个包中都包含 package-info 文件的必要性。我定义的路径被忽略了,所以它可能是错误的。请问匹配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/**/*.

规则 S2118 是一种特殊情况,因为不会在文件中报告问题。它们过去是在文件夹上报告的,但在最新版本的 SonarQube 中,我们删除了报告文件夹问题的功能,因此这些问题将在项目级别报告。

在任何情况下(旧的或新的行为)都不可能通过路径模式使用问题排除来解决此类问题(它仅适用于文件级问题)。

因此您只能将规则应用于整个项目,或者禁用它。

解释了为什么不能用sonar.issue.ignore.multicriteria忽略S2118.

但是,另一种选择是将 sonar.issue.enforce.multicriteria 与永远不会与项目中的路径匹配的路径模式一起使用,例如 SONARQUBE_RULE_DISABLEDsonar.issue.enforce.multicriteria 将规则配置为 运行 仅在匹配路径上 - 并且通过使用它永远无法匹配的路径,该规则被有效地禁用。 (在 SonarQube 8.9、YMMV 上测试)