Java Can';t运行EMMA代码覆盖率

Java Can';t运行EMMA代码覆盖率,java,code-coverage,emma,Java,Code Coverage,Emma,我已经安装了JavaSE开发工具包7u3 我已经讨论过一些类似的话题(e.x.),但我的问题是EMMA根本不适合我。在我跑步之后: java -cp emma.jar emmarun -cp . Main 它总是说: [EMMA v2.0, build 5312] emmarun: [MAIN_METHOD_NOT_FOUND] application class [Main] does not have a runnable public main() method Exception in

我已经安装了JavaSE开发工具包7u3

我已经讨论过一些类似的话题(e.x.),但我的问题是EMMA根本不适合我。在我跑步之后:

java -cp emma.jar emmarun -cp . Main
它总是说:

[EMMA v2.0, build 5312]
emmarun: [MAIN_METHOD_NOT_FOUND] application class [Main] does not have a runnable public main() method
Exception in thread "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] application class [Main] does not have a runnable public main() method
        at com.vladium.emma.rt.AppRunner._run(AppRunner.java:497)
        at com.vladium.emma.rt.AppRunner.run(AppRunner.java:97)
        at com.vladium.emma.runCommand.run(runCommand.java:247)
        at emmarun.main(emmarun.java:27)
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 11 in method Main.<init>()V at offset 4
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
        at java.lang.Class.getMethod0(Unknown Source)
        at java.lang.Class.getMethod(Unknown Source)
        at com.vladium.emma.rt.AppRunner._run(AppRunner.java:493)

我只是想在任何示例代码上运行Emma,看看它是否正常工作。嗯,事实并非如此。有没有关于我做错了什么的想法?

这似乎在一些地方突然出现。到目前为止,我发现的解决方案有:

  • 因为您使用的是Java7,所以您的emma插件可能有问题(如果使用eclipse)。显然,安装此插件的测试版允许使用Java 7:Link:

  • 来自同一链接的评论也谈到了使用Java JVM选项'-X:+UseSplitVerifier'来解决这个问题


您运行emma的语句看起来不正确。是的,我在.jar文件中也尝试过这样做,效果与您尝试过使java文件名与类名匹配吗?(既有HelloWorld,也有Main)是的,我有。不幸没有帮助。所有文档都显示
…emma.jar emmarun…
,为什么不使用
emmarun
public class Main{

public static void main(String[] args) {
    System.out.println("Hello, World");
}