"java"成功". java emmarun"失败了 [英] "java" succeeds," java emmarun" fails

查看:101
本文介绍了"java"成功". java emmarun"失败了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

免责声明:我是java和emma的新手.详细信息:

Disclaimer: I am new to java and emma. Details:

  • 我安装了emma,并完成了一些示例.没问题.
  • 我有一个Java项目,其中包含许多文件,希望获得一份覆盖率报告.
  • 我键入"javac -d out * .java".没有错误.
  • 我键入"java -cp out Main".程序运行正常,我得到了预期的输出.
  • 我键入"java emmarun -cp out Main".我得到以下信息:

  • I installed emma, and have worked through some of the examples. No problems.
  • I have a java project with a number of files that I wish to get a coverage report.
  • I type "javac -d out *.java". No errors.
  • I type "java -cp out Main". The program runs fine and I get the expected output.
  • I type "java emmarun -cp out Main". I get the following:

emmarun:[MAIN_METHOD_NOT_FOUND]应用程序类[Main]没有可运行的公共main()方法 线程"main" com.vladium.emma.EMMARuntimeException中的异常:[MAIN_METHOD_NOT_FOUND]应用程序类[Main]执行 没有可运行的public main()方法 在com.vladium.emma.rt.AppRunner._run(AppRunner.java:546) 在com.vladium.emma.rt.AppRunner.run(AppRunner.java:97) 在com.vladium.emma.runCommand.run(runCommand.java:247) 在emmarun.main上(emmarun.java:27) 引起原因:java.lang.IllegalAccessException:类com.vladium.emma.rt.AppRunner $ Invoker无法访问clas成员 s主修饰语"public static" 在sun.reflect.Reflection.ensureMemberAccess(未知来源) 在java.lang.reflect.AccessibleObject.slowCheckMemberAccess(未知来源) 在java.lang.reflect.AccessibleObject.checkAccess(未知来源) 在java.lang.reflect.Method.invoke(未知来源) 在com.vladium.emma.rt.AppRunner $ Invoker.run(AppRunner.java:655) 在java.lang.Thread.run(未知来源)

emmarun: [MAIN_METHOD_NOT_FOUND] application class [Main] does not have a runnable public main() method Exception in thread "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] application class [Main] does not have a runnable public main() method at com.vladium.emma.rt.AppRunner._run(AppRunner.java:546) 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.IllegalAccessException: Class com.vladium.emma.rt.AppRunner$Invoker can not access a member of clas s Main with modifiers "public static" at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(Unknown Source) at java.lang.reflect.AccessibleObject.checkAccess(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.vladium.emma.rt.AppRunner$Invoker.run(AppRunner.java:655) at java.lang.Thread.run(Unknown Source)

我的"Main.java"文件如下所示:

My "Main.java" file looks like this:

public class Main {
    public static void main( String[] args ) {
        NetworkSimplexTest nst = new NetworkSimplexTest();
        nst.test();
    }
}

我会发布所有代码,但是很长.我尝试过的简单示例可以正常工作-emma会自动检测并创建覆盖报告,就像示例中一样.

I would post all the code, but it is rather lengthy. The simpler examples I tried work fine - emma automatically instruments and creates a coverage report, just like in the examples.

看来Emma找不到我的"Main",但是普通的Java可以找到.我想念什么?

It appears that Emma cannot find my "Main", but regular java can. What am I missing?

推荐答案

Emma希望将该类定义为public,而您的原始代码中缺少该类.

Emma will expect the class to be defined as public, which was missing in your original code.

这篇关于"java"成功". java emmarun"失败了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆