2014-04-14 67 views
0

我已完成以下步骤。EMMA无法转储覆盖率数据:java.io.FileNotFoundException:coverage.ec(权限被拒绝)

  1. 复制emma.jar到classpath中
  2. 仪器化的代码,并得到了coverage.em
  3. 而重新启动服务器,并检查Tomcat的日志(艾玛没有建议收集覆盖数据)
  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) 

有谁知道我错过了哪一步。如果有人能帮忙,我将不胜感激。

感谢,

回答

0

此错误:

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

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

+0

coverage.ec文件从未创建,当我检测到代码时,我只获得coverage.em文件。艾玛如何创建coverage.ec文件? – user3532604

0

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