Java 使用emmarun(找不到主方法)

Java 使用emmarun(找不到主方法),java,emma,emmarun,Java,Emma,Emmarun,我在一个空目录中有一个超简单文件: public class Test { public static void main(String[] args) { System.out.println("Test"); } } 并按预期完成以下工作 javac Test.java java Test > Test 我使用的是Mac OS X,使用的是emma-2.0.5312和java 1.7.040 emma.jar已安装到/Library/Java/Ext

我在一个空目录中有一个超简单文件:

public class Test {
    public static void main(String[] args) {
        System.out.println("Test");
    }
}
并按预期完成以下工作

javac Test.java
java Test
> Test
我使用的是Mac OS X,使用的是emma-2.0.5312和java 1.7.040

emma.jar已安装到/Library/Java/Extensions,因此可以正常工作

java emmarun
(显示有关使用EmmanRun的帮助)

接下来我跑步

java emmarun -cp . Test
我得到了一个错误:

emmarun: [MAIN_METHOD_NOT_FOUND] application class [Test] does not have a runnable public main() method
Exception in thread "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] application class [Test] 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
这是什么原因?很明显,它确实有一个公共的、可访问的main方法,那么为什么emma找不到它呢?

根据此链接

如果我使用

java -XX:-UseSplitVerifier emmarun -cp . Test
它很好用

显然,在这个版本的java中,字节码有一些变化,emma还没有更新来处理它。

根据这个链接

如果我使用

java -XX:-UseSplitVerifier emmarun -cp . Test
它很好用


显然,在这个版本的java中,字节码有一些变化,emma还没有更新以处理这些变化。

嗨,Henry,我尝试过使用它,但没有成功。请看一看。我使用以下链接作为参考-\coverage demo>java-XX:-UseSplitVerifier-cp TestTools\emma.jar;。emmarun-cp。CircleConverter Java HotSpot(TM)64位服务器VM警告:忽略选项UseSplitVerifier;在8.0 EMMA中删除了支持:运行时未收集覆盖率数据[所有报告都将为空]emmarun:[MAIN\u METHOD\u NOT\u FOUND]应用程序类[CircleConverter]没有可运行的public MAIN()方法Hi Henry,我尝试过使用此方法,但无效。请看一看。我使用以下链接作为参考-\coverage demo>java-XX:-UseSplitVerifier-cp TestTools\emma.jar;。emmarun-cp。CircleConverter Java HotSpot(TM)64位服务器VM警告:忽略选项UseSplitVerifier;在8.0 EMMA中删除了支持:运行时未收集覆盖率数据[所有报告都将为空]emmarun:[MAIN\u METHOD\u NOT\u FOUND]应用程序类[CircleConverter]没有可运行的public MAIN()方法