2011-09-25 68 views
0

声明:我是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可以。我错过了什么?

+0

这是一个错字,上面没有'public'修饰符? –

+0

我在“public static void main(String()args)”中看到public,或者在其他地方需要“public”吗? – EMS

+0

这个班?我不知道这是否能解决您的问题,但我肯定会先从它开始,因为这很容易。 –

回答

0

Emma预计该类将被定义为public,这在您的原始代码中是缺少的。

+0

请解释downvote,它是正确的和所有。 –