聲明:我是java和emma的新手。詳細信息:「java」成功,「java emmarun」失敗
- 我安裝了艾瑪,並已經通過一些例子。沒問題。
- 我有一個java項目,有一些我希望獲得覆蓋報告的文件。
- 我輸入「javac -d out * .java」。沒有錯誤。
- 我輸入「java -cp out Main」。該程序運行良好,我得到了預期的輸出。
我輸入「java emmarun -cp out Main」。我得到如下:
emmarun:[MAIN_METHOD_NOT_FOUND]應用程序類[主]沒有線程 「main」 com.vladium.emma.EMMARuntimeException可運行的公共main()方法 例外:[MAIN_METHOD_NOT_FOUND]應用程序類[主] 在com.vladium.emma.rt.AppRunner.run(AppRunner.java:546) 沒有可運行的公共main :97) at com.vladium.emma.runCommand.run(runCommand.java:247) at emmarun.main(emmarun.java:27) 引起來自:java.lang.IllegalAccessException:Class com.voltaic.emma。 rt.AppRunner $ Invoker不能訪問類的成員 s Ma與修飾語「公共靜態」 在sun.reflect.Reflection.ensureMemberAccess(來源不明) 在java.lang.reflect.AccessibleObject.slowCheckMemberAccess(來源不明) 在java.lang.reflect.AccessibleObject.checkAccess(來源不明) 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」 文件是這樣的:
public class Main {
public static void main(String[] args) {
NetworkSimplexTest nst = new NetworkSimplexTest();
nst.test();
}
}
我會發布所有的代碼,但它相當長。簡單的例子我嘗試了很好的工作 - 艾瑪自動儀器和創建一個覆蓋報告,就像在例子中。
看來Emma找不到我的「Main」,但是普通的java可以。我錯過了什麼?
這是一個錯字,上面沒有'public'修飾符? –
我在「public static void main(String()args)」中看到public,或者在其他地方需要「public」嗎? – EMS
這個班?我不知道這是否能解決您的問題,但我肯定會先從它開始,因爲這很容易。 –