我有一个基本的maven多模块,父母是POM,有三个子模块:域名,服务和网络。
我已经在pom parent中添加了jacoco插件和所需的配置,以便将测试覆盖率报告附加到声纳很容易找到的单个文件中。
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.2.201302030002</version>
<configuration>
<destFile>${project.basedir}/../target/jacoco.exec</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
我的问题是Sonar只显示第一个模块(域名)的测试覆盖率(即使我用编辑器打开文件,我看到其他模块的类名被附加在其中。
这种配置有什么问题?
对于它的价值,声纳分析来自Jenkins,而不是来自mvn声纳:声纳
答案 0 :(得分:0)
您可以在此处查看我们的示例应用:https://github.com/SonarSource/sonar-examples/tree/master/projects/code-coverage/ut/maven/ut-maven-jacoco-runTests
您应该能够找到您的配置有什么问题。
答案 1 :(得分:0)
Jenkins配置是关键:当配置正确时,无需将所有内容附加到单个文件中。
我将此添加到配置中:
sonar.modules=xxx-domain,xxx-service,xxx-web
我删除了问题中给出的pom.xml中的配置标记。
它就像一个魅力
对于那些为此而烦恼的人,寻找有用的东西来指定声纳的jenkins项目配置