我在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报告时?版本的差异是否重要?
在逗号之后是否缺少用于分隔包名称的换行符会产生影响吗?
答案 0 :(得分:16)
试试这个,我有同样的问题,它对我有用
不要以&#34; /src/main/java/
&#34;
而是以&#34; com/companyname/projectname/
&#34;
我个人更喜欢&#34; **com/companyname/projectname/../**
&#34;
答案 1 :(得分:1)
我可能会弄错,但您应该删除/
路径开头的sonar.exclusions
个字符,让它们相对于项目的根目录进行计算。