Comment faire pour exécuter des programmes Java à partir de la borne?
Je suis en train d'exécuter un programme Java à partir de mon Terminal. J'ai Mac OS X 10.7.
teamL javac -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
C'est mon Eclipse fichier de classe de la structure:
Je ne suis pas en mesure de trouver pourquoi est-ce jeter Unable to access jarfile kxml2-2.3.0.jar
?
- pour moi, on dirait qu'il ne trouve pas le jarfiles
- Accepter la réponse et fermer cette question
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la référence à des bibliothèques externes, alors vous devez les ajouter à la
classpath
. Vous pouvez l'ajouter lors de la compilation des classes de cette manière.Aller dans le répertoire src et :
À exécuter :
si vous utilisez eclipse, puis aller à
<project_directory>/bin/
ici vous pouvez trouver les classes compilées (si vous n'avez pas à les compiler) et directement les exécuter à l'aide de lajava
commandeRemarque: Depuis vos classes sont emballés sous
teamL
package, vous devez exécuter les classes à partir de l'extérieur du colis en précisant le nom pleinement qualifié commeteamL.ServiceEndpoint
-jar
pour la compilation,-jar
est utilisée pour exécuter un pot de l'application directement. Je ne sais pas où exactement votre dossier de projet est ! Je suppose que vous devez être en sachant comment changer le répertoire à l'aide de lacd
de commande dans le terminal. Justecd
àDocuments/adsproject/ADS_Deliverable1/src/
dans le terminal, puisjavac -classpath ".:<path_to_jar_file>" teamL/*.java
home/Users/vsingh3/Documents/adsproject/ADS_Deliverable1
ouvrez un nouveau terminal, puis tapezcd Documents/adsproject/ADS_Deliverable1/src
Puisjavac -classpath ".:Documents/adsproject/ADS_Deliverable1/<path_to_jar_file>" teamL/*.java
ADS_Deliverable1->src->teamL
. Je suis maintenant en cours d'exécution comme >teamL java -cp -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
Pourquoi est-ce jeterException in thread "main" java.lang.NoClassDefFoundError: kxml2-2/3/0/jar Caused by: java.lang.ClassNotFoundException: kxml2-2.3.0.jar
-jar
pour ajouter des fichiers jar dans leclasspath
! pour le rendre plus facile, copiez le fichier jar dans le dossier src, puisjavac -cp . teamL.<main_class>
donc siServiceEndpoint
est votre classe principale, alors vous devez utiliserjava -cp . teamL.ServiceEndpoint
crois-moi savoir si vous pourriez exécuter avec succès...
après que le cp et j'ai mon fichier jar dans src et dans teamL j'ai donc essayéjava -cp . teamL.kxml2-2.3.0.jar teamL.XMLHandler teamL.ServiceEndpoint teamL.TeamL
etjava -cp . kxml2-2.3.0.jar teamL.XMLHandler teamL.ServiceEndpoint teamL.TeamL
. Je suis à l'intérieurteamL
répertoire. ObtenirClassNotFoundException
pour fichier jar.Avez-vous ajouté que jar au classpath lorsque vous exécutez le programme sur la ligne de commande? par exemple,
java -classpath location_of_jar ...
javac
est une commande pour compiler au lieu de cela, vous devez utiliser la commande Java.L'exécution d'un Programme Java à partir de l'Invite de Commande cela pourrait vous donner une meilleure idée est pour Windows, mais est similaire.