我们让JaCoCo在我们的POM中工作,每次运行clean install
时都会运行并报告。
我们真正想做的只是在maven site
运行时运行JaCoCo。
我尝试过添加:
...
<configuration>
<skip>${jacoco.skip}</skip>
....
为构建阶段设置jacoco.skip
到true
,但在报告部分,我添加了:
...
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.5.201505241946</version>
<configuration>
<skip>false</skip>
<dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
...
但这不起作用。将jacoco.skip
设置为true
会阻止JaCoCo在正常的maven clean install上运行,但也会影响报告。
问题:我如何配置maven以便JaCoCo成功运行maven站点,但不运行mvn clean install
?
答案 0 :(得分:1)
最简单的方法是将其委托给Maven profile,删除其build
部分的配置,并将其放入配置文件中,如下所示:
<profiles>
<profile>
<id>jacoco</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.1.201405082137</version>
<configuration><!-- here --></configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.1.201405082137</version>
</plugin>
</plugins>
</reporting>
</profile>
</profiles>
然后,您可以在那里添加自定义配置。
然后,普通版本不会应用它,而您可以通过以下方式激活它:
mvn clean install -Pjacoco
或
mvn site -Pjacoco