您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JaCoCo与Maven-缺少执行数据文件

JaCoCo与Maven-缺少执行数据文件

您不应该在安装阶段之后而是在安装阶段之前调用代理,所以不要调用

mvn clean install jacoco:prepare-agent jacoco:report

您应该调用

mvn clean jacoco:prepare-agent install jacoco:report

主要原因是:该代理将不参与构建生命周期,该test阶段将已经作为该install阶段的一部分执行,然后Maven将根据命令行调用执行该代理,但为时已晚。

您可能还应该将上述插件配置更改为:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.7.6.201602180812</version>
    <executions>
        <execution>
            <id>jacoco-initialize</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
        <execution>
            <id>jacoco-site</id>
            <phase>package</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>

注意:我删除了配置部分,因为它实际上指向认值。而且,XML元素在这里是区分大小写的,因此您的datafile元素只是被忽略了,应该dataFile改为。同样适用于destFile

prepare-agent目标已被${project.build.directory}/jacoco.exec用作destFile值,与dataFilereport目标的值相同。进行此更改的主要原因是构建更加灵活和标准,而不依赖artifactId项目名称名称,但仍不是必需名称),而是使用更通用的${project.build.directory}属性直接指向target

最后说明:确保在build/plugins部分而非build/pluginManagement/plugins部分中配置Jacoco插件执行。本pluginManagement部分用于治理和版本或配置的通用协调,但是如果未在下声明相应的插件,它将被build/plugins。 根据官方Maven POM参考

:是在侧面插件中可以看到的元素。插件管理包含插件元素的方式几乎相同,除了不是为该特定项目构建配置插件信息,而是要配置从该继承的项目构建。 。孩子们有权覆盖pluginManagement定义。

(注意:粗体是我的)

其他 2022/1/1 18:13:44 有535人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶