2011-01-13 3 views
0

Lorsque compilé et exécuté en utilisant eclipse il n'y a pas de problème, mais quand j'ai exporté en tant que jar avec ces paramètres, j'ai obtenu Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListener.eclipse export jar java.lang.NoClassDefFoundError problème

L'exportateur jar n'a pas exporté ma bibliothèque de jar étendue?

alt text alt text

Répondre

2

Cette phrase les exceptions JavaDoc aide à comprendre ce qui a mal tourné:

La cherchés définition de classe existait lorsque la classe en cours d'exécution a été compilé, mais la définition ne peut plus être trouvé.

Vous avez créé l'application sur eclipse sans erreur. Donc, la définition du chemin de classe à l'intérieur eclipse était assez bon pour compiler toutes les classes.

Maintenant, vous l'exportez, exécutez le sur d'Eclipse et rencontrez cette erreur. L'application exportée n'utilise plus la définition de chemin de classe des projets eclipse. Et le courant ne comprend pas la bibliothèque qui contient le gnu.io.SerialPortEventListener.

La solution générale est la suivante: résolvez les problèmes de classpath pour le fichier exporté.

1

Cependant, il pourrait y avoir un problème de dépendance, ne confondez pas ClassNotFoundException and NoClassDefFoundError. Fondamentalement, il est dit qu'il y avait un problème dans l'initialisation de: gnu/io/SerialPortEventListener Je voudrais vérifier cette classe pour les erreurs comme point de départ.

+0

mais je n'ai aucun problème lors de la compilation et de l'exécution dans eclipse – wizztjh

1

J'ai le résoudre en utilisant fatjar