我有一个基本的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只显示第一个模块(域)的测试覆盖率(即使我用编辑器打开文件,我看到其他模块的类名被附加在其中 .
这个配置有什么问题?
对于它的 Value ,声纳分析是从詹金斯调用的,而不是来自mvn声纳:声纳
2 回答
您可以在此处查看我们的示例应用程序:https://github.com/SonarSource/sonar-examples/tree/master/projects/code-coverage/ut/maven/ut-maven-jacoco-runTests
您应该能够找到您的配置有什么问题 .
Jenkins配置是关键:当配置正确时,不需要在一个文件中附加所有内容 .
我把它添加到配置中:
我删除了问题中给出的pom.xml中的配置标记 .
它就像一个魅力
对于那些与此斗争的人,寻找有用的东西来指定声纳的jenkins项目配置