如何为 maven 的 jacoco 插件指定输出格式?

How to specify output format for jacoco plugin for maven?

我有一个带有 jacoco 插件的 Maven 项目,它可以生成不同格式的报告,例如 html、csv 和 xml。但我只需要 html。我该如何指定它?

这是一些代码,我在其中添加了 jacoco 插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco.plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>test</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    //other plugins
    </plugins>
</build>

然后我运行测试:

mnv clean test

并且所有报告都出现在 "target" 目录中。

我阅读了文档 https://www.eclemma.org/jacoco/trunk/doc/maven.html,但没有找到有关如何选择所需格式的任何信息。我发现它只适用于 Ant 和 Gradle.

我想我遗漏了什么,所以我将不胜感激任何线索。

截至今天 report jacoco-maven-plugin 的目标无条件生成 XML、HTML 和 CSV - 请参阅 https://github.com/jacoco/jacoco/issues/9

而且在我看来,没有理由禁用 HTML 和 XML - 生成成本很小,开发人员可以就地查看 HTML,而 XML由 SonarQube 或 Jenkins 等其他工具使用。

如果非常需要,作为解决方法,JaCoCo Ant Tasksreport 任务可以通过 maven-antrun-plugin 执行。

我搜索了同样的东西,无意中发现了以下问题: 旧路径是

target\jacoco\jacoco.report

然而 XML 报告被放入:

target\site\jacoco

其中有 XML、csv、html ...

您可以通过指定配置来指定生成的报表格式如下-

<plugin>
  <groupId>org.jacoco</groupId>
  <artifactId>jacoco-maven-plugin</artifactId>
  <version>0.8.7</version>
  <configuration>
    <!-- Rest of your configuration, if any -->
    <formats>HTML</formats>
  </configuration>
</plugin>

请注意,这是从 0.8.7 版本开始可用的。有用的资源- https://www.jacoco.org/jacoco/trunk/doc/report-integration-mojo.html#formats