我正在为一个应用程序编写通用代码,该应用程序应该支持多个国家/地区特定的更改,例如巴西和法国。
巴西有一些 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 运行但无法排除文件。
我假设您正在使用您的参数:
-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)