【问题标题】:EMMA failed to dump coverage data: java.io.FileNotFoundException: coverage.ec (Permission denied)EMMA 无法转储覆盖数据:java.io.FileNotFoundException:coverage.ec(权限被拒绝)
【发布时间】:2014-04-14 15:38:38
【问题描述】:

我已经完成了以下步骤。

  1. 将 emma.jar 复制到类路径中
  2. 检测代码并获得coverage.em
  3. 重启服务器并检查tomcat日志(没有建议Emma收集覆盖率数据)
  4. 开始对应用程序进行一些测试
  5. 停止了 tomcat,当我停止 tomcat 时,我得到以下信息。


java.io.FileNotFoundException: coverage.ec (Permission denied)
       at java.io.RandomAccessFile.open(Native Method)
       at java.io.RandomAccessFile.<init>(RandomAccessFile.java:236)
       at com.vladium.emma.data.DataFactory.persist(DataFactory.java:656)
       at com.vladium.emma.data.DataFactory.persist(DataFactory.java:86)
       at com.vladium.emma.rt.RTCoverageDataPersister.dumpCoverageData(RTCoverageDataPersister.java:54)
       at com.vladium.emma.rt.RTExitHook.run(RTExitHook.java:32)
       at java.lang.Thread.run(Thread.java:701)
 Exception in thread "EMMA shutdown handler thread" java.lang.RuntimeException: EMMA failed to dump coverage data: java.io.FileNotFoundException: coverage.ec (Permission de
       at com.vladium.emma.rt.RTCoverageDataPersister.dumpCoverageData(RTCoverageDataPersister.java:71)
       at com.vladium.emma.rt.RTExitHook.run(RTExitHook
       at java.lang.Thread.run(Thread.java:701)

有谁知道我错过了什么步骤。如果有人能提供帮助,我将不胜感激。

谢谢,

【问题讨论】:

    标签: java tomcat code-coverage emma


    【解决方案1】:

    这个错误:

    java.io.FileNotFoundException: coverage.ec (Permission denied)

    通常意味着您没有读取文件的权限。验证运行应用程序的用户是否有权读取coverage.ec,并且该文件存在。

    【讨论】:

    • coverage.ec 文件从未创建,当我检测代码时,我只得到了coverage.em 文件。 Emma 如何创建 coverage.ec 文件?
    【解决方案2】:

    如果您使用的是 Win7,您可能需要检查您的工作区是否在“C:\”下。这给我带来了权限问题。我将工作区更改为“C:\Users\[MyAccount]”,权限问题消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 2020-05-31
      • 2022-11-03
      • 2018-11-16
      • 1970-01-01
      • 2017-10-29
      相关资源
      最近更新 更多