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()方法