栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
值,与
dataFile
report
目标的值相同。进行此更改的主要原因是构建更加灵活和标准,而不依赖
artifactId
项目名称(默认名称,但仍不是必需名称),而是使用更通用的
${project.build.directory}
属性直接指向
target


最后说明:确保在

build/plugins
部分而非
build/pluginManagement/plugins
部分中配置Jacoco插件执行。本
pluginManagement
部分用于治理和版本或配置的通用协调,但是如果未在下声明相应的插件,它将被
忽略
build/plugins

根据官方Maven POM参考

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

pluginManagement
定义。

(注意:粗体是我的)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573885.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号