java.lang.NoClassDefFoundError lors de l'exécution de JMS consommateurs
Je suis en train de lancer une classe que j'ai fait mais j'ai cette erreur:
Exception in thread "main"
java.lang.NoClassDefFoundError:
javax/jms/Destination
Je ne comprends pas pourquoi ça ne fonctionne pas même lorsque j'contenir les pots dans le classpath:
java consumer1 -cp
activemq-all-5.3.2.jar
Est activemq-all-5.3.2.jar dans le même répertoire que consumer1?
oui, il est
Avez-vous vérifié le activemq-all-5.3.2.jar donc, assurez-vous qu'il a la classe? (peut-être une corruption de l'artefact), vous pouvez exécuter 'jar tvf activemq-all-5.3.2.jar' pour voir.
Je l'ai vérifié en élargissant le pot dans eclipse. Il est là.
oui, il est
Avez-vous vérifié le activemq-all-5.3.2.jar donc, assurez-vous qu'il a la classe? (peut-être une corruption de l'artefact), vous pouvez exécuter 'jar tvf activemq-all-5.3.2.jar' pour voir.
Je l'ai vérifié en élargissant le pot dans eclipse. Il est là.
OriginalL'auteur Jeune | 2010-10-15
Vous devez vous connecter pour publier un commentaire.
-cp
option dejava
de commande doit être placé avant le nom de la classe:Sinon il est considéré comme un argument de votre
main
méthode, non pas commejava
'argument. Notez également que si vous spécifiez le classpath avec-cp
option, vous devez inclure le répertoire en cours afin d'exécuter.class
fichiers.Lorsque vous exécutez
java consumer1
,consumer1
est un nom de classe dans le classpath. Par défaut, la classe est un répertoire en cours, cette commande va lancerconsumer1.class
. Lorsque vous utilisez-cp
option, vous remplacez le classpath par défaut, si vous avez besoin de spécifier le dossier actuel explicitement afin d'exécuterconsumer1.class
.merci! que clarifier les choses beaucoup! 🙂 +1
REMARQUE: sous Linux, vous devez
:
comme un séparateur à la place de;
. M'ont rendu fou.OriginalL'auteur axtavt