【问题标题】:Using emmarun (main method not found)使用 emmarun(未找到主要方法)
【发布时间】:2013-10-26 13:16:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: java emma emmarun


    【解决方案1】:

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

    如果我使用

    java -XX:-UseSplitVerifier emmarun -cp . Test
    

    效果很好

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

    【讨论】:

    • 您好,Henry,我尝试使用它,但没有用。请看一下。我使用以下链接作为参考 - users.csc.calpoly.edu/~jdalbey/309/Lectures/emmademo.html \CoverageDemo>java -XX:-UseSplitVerifier -cp TestTools\emma.jar;。埃马伦-cp。 CircleConverter Java HotSpot(TM) 64 位服务器 VM 警告:忽略选项 UseSplitVerifier; 8.0 中删除了支持 EMMA:运行时未收集覆盖数据[所有报告将为空] emmarun:[MAIN_METHOD_NOT_FOUND] 应用程序类 [CircleConverter] 没有可运行的公共 main() 方法
    猜你喜欢
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2014-12-23
    • 1970-01-01
    • 2020-06-20
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多