首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jacoco的准备代理不生成jacoco.exec文件

jacoco的准备代理不生成jacoco.exec文件
EN

Stack Overflow用户
提问于 2014-02-08 00:45:15
回答 2查看 19K关注 0票数 19

我正在运行Jacoco的Maven插件。prepare-agent目标运行良好,但是由于某种原因不能生成jacoco.exec文件。随后,report目标抱怨Skipping JaCoCo execution due to missing execution data file

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-08 00:48:47

读完https://groups.google.com/forum/#!topic/jacoco/LzmCezW8VKA之后,结果是prepare-agent设置了一个名为argLine的surefire属性。如果您覆盖了这个属性( https://issues.apache.org/jira/browse/SUREFIRE-951鼓励您这样做),那么jacoco永远不会运行。

解决方案是替换:

代码语言:javascript
复制
<argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>

使用

代码语言:javascript
复制
<argLine>-Dfile.encoding=${project.build.sourceEncoding} ${argLine}</argLine>

也就是说,将jacoco的argLine附加到新值。

更新:正如Fodder所指出的,如果你不总是运行JaCoCo,并且没有其他插件集${argLine},那么Maven会抱怨${argLine}是未定义的。要解决这个问题,只需定义跳过JaCoCo时${argLine}应该是什么样子:

代码语言:javascript
复制
<properties>
    <argLine/>
</properties>

在这种情况下,使用@{argLine}而不是${argLine}来解释here

票数 36
EN

Stack Overflow用户

发布于 2016-07-04 05:35:23

如果你在构建时不总是运行JaCoCo,那么@Gili的解决方案就不能工作,因为它找不到argLine。相反,使用自定义值在您的POM中添加属性argLine。JaCoCo准备代理将附加到该属性,且Surefire将使用附加的argLine。

代码语言:javascript
复制
<properties>
    <argLine>whatever your custom argline variables are</argLine>
</properties>

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <!-- Don't put argLine config here! -->
    </plugin>
</plugins>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21633277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档