我正在尝试使用Eclipse的Emma覆盖工具,但我有点困惑。
所以我将emma.jar和emma_ant.jar添加到/ usr / lib / jvm / java-6-openjdk-common / jre / lib / ext / emma /目录中,并使用JRE在Eclipse下创建了一个Java项目:java- 6-的openjdk
我将build.xml示例文件复制到我的项目中,并将emma.dir属性编辑为/ usr / lib / jvm / java-6-openjdk-common / jre / lib / ext / emma /
然后,当我创建.jar文件,并尝试使用Emma运行它时:
java emmarun -jar HelloWorld.jar
我明白了:
线程“main”中的异常java.lang.NoClassDefFoundError:emmarun 引起:java.lang.ClassNotFoundException:emmarun at java.net.URLClassLoader的$ 1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 找不到主要类:emmarun。程序将退出。
感谢您的帮助!
答案 0 :(得分:0)
你正在以艰难的方式去做。安装EclEmma插件,您只需选择正确的启动配置即可获得测试覆盖率。
更新:我刚刚意识到EclEmma在内部使用JaCoCo,而不再是Emma。尽管如此,它仍然是一个很好的工具,不过我会继续使用它。
但要解决你的问题:我认为你不能在lib / ext中拥有子文件夹。将jar直接移到lib / ext中,它应该可以工作。
答案 1 :(得分:0)
只需通过eclipse安装中心安装ecl-emma!
继续帮助 - >安装软件,在那里插入ecl-emma页面:
http://update.eclemma.org/
通过安装助手。