désolé à l'avance si je ne donne pas assez d'informations ou si je ne sais pas quoi que ce soit, c'est ma première incursion dans l'utilisation .bat
et .config
fichiers. J'utilise un logiciel académique et j'essaie d'ajouter et d'exécuter mes propres composants. le système utilise un fichier de configuration pour lancer une liste de composants (classes) nécessaire pour le système en utilisant le code comme ceci:Impossible de résoudre java NoClassDefFoundError mais tout semble correct ... des idées?
semaine.components = \
eu.semaine.examples.swimmer.SwimmerDisplay| \
le système fonctionne correctement et sont initialisés les composants spécifiés.
ajouter mon propre composant à la liste des composants existants en utilisant le code suivant:
eu.semaine.examples.TestPackage.MyTest| \
mais je reçois l'erreur suivante:
java.lang.NoClassDefFoundError:eu/semaine/examples/TestPackage/MyTest (wrong name: TestPackage/MyTest)
J'ai eu un coup d'oeil et me semble que je ne fais aucune des choses qui causent généralement cette erreur, par exemple mon nom de classe correspond au nom de fichier dans lequel il est stocké (classe publique MyTest
est stocké dans MyTest.java
), MyTest
est dans le package TestPackage
et le dossier dans la structure de fichier est également nommé TestPackage
.
des idées ou des conseils seraient grandement appréciés.
Salut, j'ai tout dans un pot et la hiérarchie des dossiers est la suivante: myJar> eu> semaine> examples. examples contient le dossier swimmer (contenant SwimmerDisplay.class) et le dossier TestPackage (contenant MyTest.class). Je vais essayer de changer le nom du paquet en minuscules juste au cas où. – chris
Je pense que votre dossier TestPackage ne devrait pas être dans le répertoire des exemples, mais plutôt dans la racine du Jar, et vous devriez ajuster la façon dont vous le référenciez comme je le montre dans ma réponse. Regardez votre code, s'il dit paquet "TestPackage" alors je suis sûr que j'ai raison. – djna
Cela a fonctionné. Merci beaucoup. – chris