2

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

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

我试过添加:

...
<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.skiptrue确实会阻止 JaCoCo 在正常的 maven 全新安装上运行,但似乎也会影响报告。

问题:我将如何配置 maven 以便 JaCoCo 在 maven 站点上成功运行,但不能在 maven 站点上运行mvn clean install

4

1 回答 1

2

最简单的方法是将其委托给 Maven配置文件,删除您的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
于 2016-02-03T13:01:51.567 回答