Java Sonar maven jacoco代码覆盖多模块项目
我有一个多模块项目,其中包含一个父pom.xml和两个模块。jar和Project.war。所有测试用例都在Project.jar下。当我在父pom上运行mvn sonar.sonar goal时,jacoco.exec没有生成,代码覆盖率为空。我在父pom中具有以下属性Java Sonar maven jacoco代码覆盖多模块项目,java,maven,code-coverage,sonarqube,jacoco,Java,Maven,Code Coverage,Sonarqube,Jacoco,我有一个多模块项目,其中包含一个父pom.xml和两个模块。jar和Project.war。所有测试用例都在Project.jar下。当我在父pom上运行mvn sonar.sonar goal时,jacoco.exec没有生成,代码覆盖率为空。我在父pom中具有以下属性 <properties> <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> <sonar.dy
<properties>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
</properties>
杰科科
再利用报告
${project.basedir}/target/jacoco.exec
请帮忙。我使用的是Sonarqube 4.2 对于java插件的2.4版,您必须在运行SonarQube分析之前生成覆盖率报告。您可以看到关于如何执行此操作的此页面。对于那些有类似问题的人,我解决此问题的方式略有不同(我从命令行运行此问题,而不是让Jenkins执行)。我对插件没有意见 所有这些设置都在父POM中定义。我正在使用以下版本:
<plugin.jacoco.version>0.7.2.201409121644</plugin.jacoco.version>
我不必对Surefire插件进行任何更改(就像我过去所做的那样)。您能精确地确定您正在使用的java插件的版本吗?Sonar java plugin 2。4@benzonico-我已经在父pom和子jar和war pom中添加了jacoco插件,sonar.sources作为src/main用于多语言分析。有线索吗?请help@benzonico你能帮忙吗?我把我的java插件改为2.1,把jacoco插件添加到Sonarqube 4.2。现在,测试用例正在构建阶段和声纳目标中运行。我在用詹金斯。因此,测试结果会被运行测试用例的Sonar覆盖,而大多数测试都失败了。覆盖率值是错误的。我添加了sonar.dynamicAnalysis=true和sonar.reuseReports=true。通过更改插件版本修复了这个问题。sonar-surefire-plugin-2.1、sonar-squid-java-plugin-2.1、sonar-jacoco-plugin-2.1、sonar-checkstyle-plugin-2.1、sonar-build-stability-plugin-1.2、sonar-pmd-plugin-2.1、sonar-findbugs-plugin-2.1、sonar-java-plugin-2.1。有了这些版本,sonar会自动运行jacoco并创建报告。不过我建议在分析之前使用最新版本的插件并生成jacoco报告。
<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${plugin.jacoco.version}</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
</configuration>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
mvn clean test sonar:sonar