2016-10-20 2 views
0

Je n'arrive pas à exécuter mon programme dans la ligne de commande. projectA a projectB et projectC sur le chemin de compilation.Compilation et exécution d'un programme Java avec d'autres programmes sur le chemin de génération

J'exécuter cette commande:

javac -cp "projectB/src/":"projectC/src/" path/to/projectA/src/packagename/Program.java

Cette compile bien. Tous les fichiers .java de projectA, projectB et projectC sont compilés en fichiers .class. Cependant, quand je lance la commande:

java -cp "projectB/src/":"projectC/src/" path/to/projectA/src/packagename/Program

Je reçois l'erreur suivante:

Error: Could not find or load main class path.to.projectA.src.packagename.Program

J'ai essayé d'exécuter la commande java avec de nombreux dérivés différents des -CP, chemins, et de différents répertoires de travail. Merci pour l'aide!

Répondre

1

Avec votre commande, javac pense que le paquet est path/to/projectA/src/packagename/Program

Vous devez spécifier le nom complet (packagename.Program) et ajoutez le chemin dans votre classpath:

java -cp "projectB/src/":"projectC/src/":"path/to/projectA/src" packagename.Program 
+0

Merci! C'est ce qu'il a fait. –

2

Vous devez avoir une bonne chemin de classe du projetA

java -cp "projectB/src/":"projectC/src/":"path/to/projectA/src" packagename.Program 
+1

Nous avons fourni la réponse simultanément, je vais +1 pour partager l'amour :) – alexbt