SonarQube 在 Maven 构建中定义 "Ignore Issues on Multiple Criteria"

SonarQube define "Ignore Issues on Multiple Criteria" in maven build

sonar-maven-plugin是否支持将"Ignore Issues on Multiple Criteria"设置为Narrow the focus作为sonar-maven-plugin 运行命令的-Dsonar.issue.ignore.multicriteria


欢迎任何工作示例。

我在我的项目中创建了类似的设置,因为我们需要从 maven 命令(和你一样)设置排除项,而不是通过声纳 gui(声纳文档仅指通过声纳的 gui 排除项)这是什么我们在我们的项目中做了:

"-Dcommon.sonar.issue.ignore.multicriteria=e1,e2 " +
"-Dcommon.sonar.issue.ignore.multicriteria.e1.ruleKey=squid:S1845 " +
"-Dcommon.sonar.issue.ignore.multicriteria.e1.resourceKey=**/input/**/*.java " +
"-Dcommon.sonar.issue.ignore.multicriteria.e2.ruleKey=squid:S1845 " +
"-Dcommon.sonar.issue.ignore.multicriteria.e2.resourceKey=**/datatypes/**/*.java"

我们还有这些额外的排除项,我认为会对 public:

有所帮助
"-Dsonar.issue.ignore.allfile=r1,r2 " +
"-Dsonar.issue.ignore.allfile.r1.fileRegexp=@Input\(.*\) " +
"-Dsonar.issue.ignore.allfile.r2.fileRegexp=@Output\(.*\)"

给最终得出这个答案的人的附加说明。我对此进行了很多测试,最后发现从扫描器端(pom、命令行等)设置通用规则(任何以 "common-xxxx" 开头的规则)将被忽略并且不会起作用。特定于语言的规则可以传递行参数,这就是 "squid:S1845" 规则被正确忽略的原因。这是 SonarQube JIRA 板上的问题 link,上面写着 "wont be fixed".

https://jira.sonarsource.com/browse/SONAR-8230

这是我的回答 link: