J'ai une classe qui se trouve dans un paquet appelé com.toptur.sysTray tout ce qu'il fait est le plateau du système de chargement, il n'utilise pas de paquets externes. Je crée un objet SysTray pour installer la barre d'état système. Tout se construit bien. Je peux lancer l'application à partir de la ligne de commande et systray est installé. Mais quand j'essaye de créer un pot à partir des fichiers de classe et que je l'exécute, j'obtiens NoClassDefFoundError.NoClassDefFoundError inside jar
Le package et ses fichiers de classe sont dans le fichier mon application n'utilise pas de fichiers externes. juste des cours provited by java.
Et si construire un fichier .exe hors du pot, il recommence à fonctionner sans aucune erreur.
Comment puis-je suivre cela?
<target name="jar" depends="">
<jar destfile="build/toptur.jar" >
<manifest>
<attribute name="Built-By" value="Toptur"/>
<attribute name="Main-Class" value="gotacan"/>
</manifest>
<fileset dir="build">
<include name="**/*.class"/>
<include name="**/*.png"/>
<exclude name="**/*.jar"/>
</fileset>
</jar>
je crée le fichier jar à partir d'une cible en utilisant ant code ci-dessus. Le programme du pilote n'est pas dans un package. il se trouve dans gotacan.java
je lance à l'aide jar java toptur.jar
reste du programme fonctionne, il jette seule exception quand je tente d'utiliser ce package.
Comment créer votre fichier jar et comment voulez-vous exécutez il? – kgiannakakis
Pouvez-vous montrer toute la trace de la pile NoClassDefFound? –
votre classe est-elle vraiment nommée "gotacan" avec une lettre minuscule en première lettre? – Billy