如何使用运行 sonarqube 的终端命令排除声纳覆盖的文件?

viv*_*kar 5 java sonarqube

我正在为一个应用程序编写通用代码,该应用程序应该支持多个国家/地区特定的更改,例如巴西和法国。

巴西有一些 Java 类不是法国所必需的。因此,为了运行声纳,我需要排除这些文件以进行声纳覆盖。另外,我需要排除 dtos、util 类。

我们通常使用标签排除 pom 文件中类的覆盖范围。但是我需要使用 mvn clean install 命令排除这些文件。

传统方法:

在此处输入图片说明

但我想排除终端中的 java 类,如下所示:

C:\Projects\web-application>mvn clean install -Dspring.profiles.active=dev -Dspring.profiles.country=brazil -Dsonar.coverage.exclusions=**/pom.xml,**/domain/dtos/**/*,**/domain/models/**/*,**/services/someClass.java
Run Code Online (Sandbox Code Playgroud)

Sonarqube 运行但无法排除文件。

Xup*_*upi 1

我假设您正在使用您的参数:

-Dsonar.coverage.exclusions=**/pom.xml,**/domain/dtos/**/*,**/domain/models/**/*,**/services/someClass.java
Run Code Online (Sandbox Code Playgroud)

您正在混合路径和文件排除,这可能会导致问题,正如 Sonar Dev 此处提到的 - https://community.sonarsource.com/t/sonar-coverage-exclusions-not-execution-too-much/31276/4

这应该有效:

-Dsonar.coverage.exclusions=**/pom.xml,**/domain/dtos/**/*.*,**/domain/models/**/*.*,**/services/someClass.java
Run Code Online (Sandbox Code Playgroud)