pom.xml中的<sonar.exclusions>(Maven多模块项目)在本地工作,但不在公司服务器上工作

use*_*253 18 java maven jenkins sonarqube

我正在使用<sonar.exclusions>pom.xml来排除单元测试代码覆盖的某些包.我在当地设置了Sonar,排除项反映在报告上.但是,公司服务器上的相同排除项不受尊重.

我正在使用<sonar.skippedModules>它按预期工作,并在两个环境中完全跳过所需的模块.

本地Sonar版本是版本4.3.1公司的Sonar版本是版本4.1.2

<sonar.skippedModules>在其中一个模块中编写的示例:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.mainClass>.....</project.mainClass>
    <sonar.exclusions>
        /src/main/java/../../../../../Package1/*,
        /src/main/java/../../../../../Package2/*,
        /src/main/java/../../../../../JavaClass1.java
    </sonar.exclusions>
    <sonar.language>java</sonar.language>
</properties>
Run Code Online (Sandbox Code Playgroud)

能否帮助我理解为什么<sonar.exclusions>只在本地获得荣誉,而不是在我建立工作(在Jenkins上设置)以在公司服务器上生成Sonar报告时获得荣誉?版本的区别是否重要?

在逗号之后是否缺少用于分隔包名称的新行字符会有所不同吗?

小智 17

试试这个,我有同样的问题,它对我有用

不要以" /src/main/java/"开头而是以" com/companyname/projectname/" 开头

我个人更喜欢" **com/companyname/projectname/../**"