"java"成功". java emmarun"失败了 [英] "java" succeeds," java emmarun" fails
问题描述
免责声明:我是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屋!