小编典典

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

java

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

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.0_40

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

java emmarun

(它显示了使用emmarun的帮助)

接下来我跑

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

是什么原因造成的?显然,它确实有一个公共的,可访问的主方法,那么为什么艾玛找不到它?


阅读 266

收藏
2020-11-30

共1个答案

小编典典

按照此链接http://vikashazrati.wordpress.com/2011/10/09/quicktip-verifyerror-with-
jdk-7/

如果我用

java -XX:-UseSplitVerifier emmarun -cp . Test

它很好用

显然,此版本的java中的字节码有一些更改,并且emma尚未更新以对其进行处理。

2020-11-30