You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven多模块项目Jacoco合并数据文件后如何生成整体报告?

如何基于合并后的Jacoco数据文件生成Maven多模块项目的整体代码覆盖率报告

既然你已经成功把多模块的Jacoco数据合并成一个文件了,那生成整体覆盖率报告就水到渠成啦!结合你提到的测试项目,我给你一步步拆解操作:

1. 在父POM中配置Jacoco报告生成插件

首先要在父项目的pom.xml里,给Jacoco插件新增一个生成聚合报告的执行配置,指向你已经合并好的Jacoco数据文件:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.10</version> <!-- 建议使用最新稳定版 -->
            <executions>
                <!-- 保留你之前配置的测试执行、数据合并的execution -->
                <execution>
                    <id>jacoco-aggregate-report</id>
                    <phase>verify</phase>
                    <goals>
                        <goal>report-aggregate</goal>
                    </goals>
                    <configuration>
                        <!-- 这里填写你合并后的Jacoco数据文件路径 -->
                        <dataFile>${project.build.directory}/jacoco/combined.exec</dataFile>
                        <!-- 自定义报告输出目录(可选,默认是target/site/jacoco-aggregate) -->
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2. 执行Maven命令触发报告生成

在父项目的根目录下,运行以下Maven命令:

mvn clean verify

这个命令会依次执行:清理项目、运行所有单元/集成测试、执行你之前配置的数据合并步骤,最后生成聚合覆盖率报告。

3. 查看整体覆盖率报告

报告生成后,默认会存放在父项目的target/site/jacoco-aggregate目录下。打开该目录下的index.html文件,就能看到整个多模块项目的整体代码覆盖率统计,还可以点击各个子模块查看详细的类、方法级别的覆盖情况。

针对你的测试项目的额外提示

如果你的测试项目里合并后的Jacoco数据文件路径不是默认的target/jacoco/combined.exec,只需要修改<dataFile>标签里的路径即可。另外,你可以提前检查下合并后的.exec文件是否有效——比如通过查看文件大小,确保所有子模块的测试数据都被正确合并进去了。

内容的提问来源于stack exchange,提问作者tm1701

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 09:05:04