Désistement: Je suis nouveau à java et emma. Détails:"java" réussit, "java emmarun" échoue
- J'ai installé emma et j'ai travaillé sur certains exemples. Pas de problème.
- J'ai un projet Java avec un certain nombre de fichiers que je souhaite obtenir un rapport de couverture.
- Je tape "javac -d out * .java". Pas d'erreurs
- Je tape "java -cp out Main". Le programme fonctionne bien et j'obtiens la sortie attendue.
Je tape "java emmarun -cp out Main". Je reçois le texte suivant:
emmarun: [MAIN_METHOD_NOT_FOUND] classe d'application [Main] ne dispose pas d'une méthode principale publique runnable() Exception dans le thread "principal" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] classe d'application [ Principal] ne pas avoir une méthode publique principale() exécutable at com.vladium.emma.rt.AppRunner._run (AppRunner.java:546) at com.vladium.emma.rt.AppRunner.run (AppRunner.java : 97) à com.vladium.emma.runCommand.run (runCommand.java:247) à emmarun.main (emmarun.java:27) Causé par: java.lang.IllegalAccessException: Classe com.vladium.emma. rt.AppRunner $ Invoker ne peut pas accéder à un membre de clas s Ma avec modificateurs "public static" at sun.reflect.Reflection.ensureMemberAccess (source inconnue) at java.lang.reflect.AccessibleObject.slowCheckMemberAccess (source inconnue) at java.lang.reflect.AccessibleObject.checkAccess (source inconnue) à java.lang.reflect.Method.invoke (source inconnue) à com.vladium.emma.rt.AppRunner $ Invoker.run (AppRunner.java:655) à java.lang.Thread.run (source inconnue)
Mon fichier "Main.java" ressemble à ceci:
public class Main {
public static void main(String[] args) {
NetworkSimplexTest nst = new NetworkSimplexTest();
nst.test();
}
}
Je posterais tout le code, mais il est plutôt long. Les exemples les plus simples que j'ai essayé fonctionnent bien - emma automatiquement les instruments et crée un rapport de couverture, tout comme dans les exemples.
Il semble qu'Emma ne trouve pas mon "Principal", mais le java ordinaire. Qu'est-ce que je rate?
Est-ce une faute de frappe que ce qui précède n'a pas de modificateur 'public'? –
Je vois un public dans "public static void main (String() args)", ou est-ce que "public" est requis ailleurs? – EMS
La classe? Je ne sais pas si cela résoudra votre problème, mais je commencerai sûrement avec ça, parce que c'est facile. –