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

时间:2014-08-07 22:57:08

标签: java maven jenkins sonarqube

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

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

本地声纳版本是版本4.3.1公司的声纳版本是版本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>

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

在逗号之后是否缺少用于分隔包名称的换行符会产生影响吗?

2 个答案:

答案 0 :(得分:16)

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

不要以&#34; /src/main/java/&#34; 而是以&#34; com/companyname/projectname/&#34;

开头

我个人更喜欢&#34; **com/companyname/projectname/../**&#34;

答案 1 :(得分:1)

我可能会弄错,但您应该删除/路径开头的sonar.exclusions个字符,让它们相对于项目的根目录进行计算。