java - 使用 emmarun (未找到主要方法)

标签 java emma emmarun

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

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

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

最佳答案

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

如果我使用

java -XX:-UseSplitVerifier emmarun -cp . Test

效果很好

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

关于java - 使用 emmarun (未找到主要方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437050/

相关文章:

java - 自定义自动配置的 Spring Boot Bean

java - 如何在 php 中为 windows 创建 localhost 域管理?

java - Android drawable ic_menu_star 不工作?

java - 将 jUnit 覆盖率报告与 EclEMMA 插件合并

junit - 使用 JUnit 和 Powermock 的 Emma 代码覆盖率

java - Java String REGEX 识别 DOI 的正确格式是什么