免责声明:我是 java 和 emma 的新手。细节:
- 我安装了 emma,并完成了一些示例。没问题。
- 我有一个 java 项目,其中包含一些我希望获得覆盖率报告的文件。
- 我输入“javac -d out *.java”。没有错误。
- 我输入“java -cp out Main”。程序运行良好,我得到了预期的输出。
我输入“java emmarun -cp out Main”。我得到以下信息:
emmarun:[MAIN_METHOD_NOT_FOUND] 应用程序类 [Main] 没有可运行的公共 main() 方法线程“main”中的异常 com.vladium.emma.EMMARuntimeException:[MAIN_METHOD_NOT_FOUND] 应用程序类 [Main] 没有可运行的公共 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) at emmarun.main(emmarun.java:27) 原因:java.lang.IllegalAccessException:类 com.vladium.emma.rt.AppRunner$Invoker 无法使用修饰符访问类 Main 的成员java.lang.reflect.AccessibleObject.slowCheckMemberAccess(Unknown Source) 处的 sun.reflect.Reflection.ensureMemberAccess(Unknown Source) 处的“公共静态”。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(未知来源)
我的“Main.java”文件如下所示:
public class Main {
public static void main( String[] args ) {
NetworkSimplexTest nst = new NetworkSimplexTest();
nst.test();
}
}
我会发布所有代码,但它相当冗长。我尝试过的更简单的示例可以正常工作 - emma 会自动检测并创建覆盖率报告,就像在示例中一样。
Emma 似乎找不到我的“Main”,但普通的 java 可以。我错过了什么?