2016-03-31 1 views
1

J'ai donc essayé plusieurs des solutions qui sont présentes sur ce site mais aucune ne pourrait m'aider.Paquets Java: aucune classe def trouvé

Le problème: J'ai mes fichiers de projet structuré comme celui-ci:

CNV/webserver/aplication/insProj.java

CNV/webserver/aplication/IntFactorization.java

et les deux sont dans le package webserver.aplication.

pour compiler et exécuter je fais ceci: au niveau du dossier CNV et avec le $ CLASSPATH =/home/ll/Documents/CNV

cd webserver/aplication 
javac -source 1.4 insProj.java 
javac IntFactorization.java 
cd .. 
cd .. 
java -XX:-UseSplitVerifier webserver.aplication.insProj ./webserver/aplication/IntFactorization.class 
java -XX:-UseSplitVerifier webserver.aplication.IntFactorization 5 

Lors de l'exécution de cette dernière instruction, il renvoie une exception:

Factoring 5... 
Exception in thread "main" java.lang.NoClassDefFoundError: webserver.aplication.insProj 
at webserver.aplication.IntFactorization.calcPrimeFactors(IntFactorization.java:22) 
at webserver.aplication.IntFactorization.main(IntFactorization.java:59) 

les instrumentations que je fais est incrémenter un compteur lorsqu'une méthode donnée est exécutée et la création d'un fichier lors de la fin du cours d'exécution. Je sais que cela fonctionne parce que j'ai testé en dehors de ces paquets et ça fonctionne bien.

+1

est-ce que vous définissez 'package's dans les classes? – Andrew

+0

oui, dans les deux im im package webserver.aplication; – user2934164

+0

Ce qui est dans la ligne IntFactorization.java 22? – Bajal

Répondre

0

Il semble que le BIT ne fonctionne pas bien avec les paquets. À la fin, j'ai enlevé insProj de n'importe quel paquet et ai inséré son dossier dans le classpath. Ensuite, il a commencé à travailler.