2012-04-21 88 views
0

我試圖在Eclipse上使用Emma覆蓋工具,但我有點困惑。因此,我將emma.jar和emma_ant.jar添加到/ usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/emma /目錄中,並在Eclipse下使用JRE創建了一個Java項目:java -6-openjdk在Ubuntu上運行Emma與Eclipse

我將build.xml示例文件複製到我的項目中,並將emma.dir屬性編輯爲/ usr/lib/jvm/java-6 -openjdk-common/jre/lib/ext/emma/

然後,當我創建一個.jar文件,並嘗試與艾瑪運行:

java emmarun -jar HelloWorld.jar

我得到這個:

Exception in thread "main" java.lang.NoClassDefFoundError: emmarun Caused by: java.lang.ClassNotFoundException: emmarun at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find the main class: emmarun. Program will exit.

感謝您的幫助!

回答

0

你正在努力做到這一點。安裝EclEmma插件,您只需選擇正確的啓動配置即可獲得測試覆蓋率。

更新:我剛剛意識到EclEmma在內部使用JaCoCo,不再是Emma。儘管如此,這是一個很棒的工具,但我仍然會選擇它。

但要解決您的問題:我不認爲你可以在lib/ext中有子文件夾。直接在lib/ext中移動jar,它應該可以工作。

+0

我嘗試直接在lib/ext中移動jar,但仍然收到相同的錯誤。 – kdelemme 2012-04-21 18:24:53

+0

找到答案!正確的命令是java -cp /path/to/emma.jar emmarun [OPTION] -jar yourown.jar – kdelemme 2012-04-23 21:37:33

0

只需通過eclipse安裝中心安裝ecl-emma即可!

去幫助 - >安裝軟件,插入有將ECL艾瑪頁:

http://update.eclemma.org/ 

並辦理安裝助手。