maven JaCoCo仅用于站点阶段

时间:2016-02-03 12:42:03

标签: maven jacoco jacoco-maven-plugin

我们让JaCoCo在我们的POM中工作,每次运行clean install时都会运行并报告。

我们真正想做的只是在maven site运行时运行JaCoCo。

我尝试过添加:

...
<configuration>
<skip>${jacoco.skip}</skip>
....

为构建阶段设置jacoco.skiptrue,但在报告部分,我添加了:

...
<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

1 个答案:

答案 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