Jacoco:无法读取执行数据文件,ant任务

时间:2016-03-17 17:58:58

标签: java ant code-coverage jacoco

的信息: java版本:1.8.0_66 蚂蚁版:1.9.6

我想做什么:

为AWS windows 2k12服务器上运行的服务器代码提供代码覆盖率报告。

我做了什么:

  • 完全停止服务器。
  • 将jacocoagent.jar放入服务器的bin文件夹中。注意:这是在Program Files文件夹
  • 将-javaagent设置附加到服务器启动期间使用的JAVA_OPTS。
  • 启动服务器。
  • 从我的本地笔记本电脑运行我的样本测试。
  • 完全停止服务器。这产生了184kb的jacoco.exec。
  • 将我的build.xml复制到jacoco.exec所在的同一目录。 C:/path/to/exec/jacoco.exec
  • 将jacocoant.jar复制到C:/path/to/jacocoant.jar
  • cd进入C:/ path / to / exec /并运行命令" ant"

结果:

错误无法读取执行数据文件C:/path/to/exec/jacoco.exec

在build.xml:

new greeterMaker()

我不确定问题是否与exec文件有关(可能已损坏)或者我的整个设置。 任何有助于识别和帮助解决问题的帮助都值得赞赏!!!

谢谢!

3 个答案:

答案 0 :(得分:2)

我最近遇到同样的问题,我花了很长时间来解决这个问题。我希望我能解决这个问题对你或其他人有所帮助。

  1. 使用ant -verbose report查看详细信息。我使用" ant -verbose reporst"并收到此消息:" java.io.IOException:不兼容的版本1007"。
  2. 当我使用maven时,我将以下行添加到我的pom.xml中。注意:版本与javaagent的版本相同。

    <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.ant</artifactId> <version>0.7.4.201502262128</version> </dependency>

  3. 最后,报告已成功生成。

答案 1 :(得分:0)

使用gradle和jaCoCo时我得到了这个。

我删除了build /目录并重新./gradlew jacocoTestReport,这次过去了。

答案 2 :(得分:0)

与@ sofia的解决方案类似,但对于gradle: 我删除了工具版本之后的版本。而不是

allprojects {
    jacoco {
        toolVersion = '0.7.1.201405082137'
    }
}

我使用了以下

allprojects {
    jacoco {
        toolVersion = '0.7.1'
    }
}