2010-04-12 6 views
0

Je rencontre ce problème lorsque j'essaie d'exécuter le cas de test Junit en mode fourche (en démarrant chaque test dans une JVM séparée) en utilisant le fichier Build Ant.classe weblogic.management.WeblogicMBean pas trouvé

[junit] Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/management/WebLogicMBean [junit] at java.lang.ClassLoader.defineClass1(Native Method) [junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) [junit] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) [junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) [junit] at java.net.URLClassLoader.access$000(URLClassLoader.java:56) [junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:195) [junit] at java.security.AccessController.doPrivileged(Native Method) [junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:188) [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:307) [junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:252) [junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) [junit] at java.lang.ClassLoader.defineClass1(Native Method) [junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) [junit] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) [junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) [junit] at java.net.URLClassLoader.access$000(URLClassLoader.java:56) [junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:195) [junit] at java.security.AccessController.doPrivileged(Native Method) [junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:188) [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:307) [junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) [junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:252) [junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) [junit] at java.lang.ClassLoader.defineClass1(Native Method) [junit] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) [junit] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) [junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) [junit] at java.net.URLClassLoader.access$000(URLClassLoader.java:56) [junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:195) ....

J'ai la bibliothèque weblogic.jar dans mes dossiers de construction de la bibliothèque, qui est défini comme classpath pour la tâche JUnit. Je regarde ce fichier et ne peux pas trouver le WeblogicMBean.class à l'intérieur.

Cependant, dans Jdev, je peux importer weblogic.management.WeblogicMBean dans ma classe si je mets la référence de bibliothèque à ce fichier weblogic.jar et compile ma classe sans problème.

Une suggestion de ce qui ne va vraiment pas?

Merci beaucoup.

Répondre

1

NoClassDefFoundError signifie généralement la version correcte de la classe n'a pas été trouvé à exécution.

Étant donné que votre compilation est correcte, votre CLASSPATH au moment de la compilation fait-il référence au même fichier jar qu'à l'exécution? Vérifiez également s'il existe plusieurs weblogic.jar dans le CLASSPATH d'exécution pour JUnit.

Quelle que soit votre version de weblogic, la classe est dans le weblogic.jar pour la version 9 au moins.