2014-04-14 60 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]」,權限問題消失了。