2010-05-19 8 views
15

J'essaie d'exécuter le fichier .class à partir de la ligne de commande. Il fonctionne quand je me déplace manuellement dans le répertoire dans lequel il est stocké, mais lorsque je tente quelque chose comme ceci:Comment exécuter des fichiers .class sur des fenêtres à partir de la ligne de commande?

java C:\Peter\Michael\Lazarus\Main 

il dit qu'il ne peut pas trouver la classe principale. Y a-t-il une solution autre que celle de faire un fichier .jar (je sais que .jar est la meilleure solution, mais pour le moment ce n'est pas celui que je cherche)?

Répondre

24

Le Java application launcher (alias java.exe ou simplement java) attend un nom de classe comme argument, vous ne pouvez pas passer un nom de fichier (surtout pas celui qui comprend un répertoire.

Vous pouvez le dire où chercher cette classe en utilisant l'option -classpath (ou sa forme courte -cp) cependant:

java -classpath C:\Peter\Michael\Lazarus\ Main
3

Essayez ceci:

java -cp C:\Peter\Michael\Lazarus Main 

Vous devez définir le chemin de classe.

7

En supposant que Main.class ne dispose pas d'une déclaration de forfait:

java -cp C:\Peter\Michael\Lazarus\ Main 

Java recherche les classes dans un « classpath », qui peut être réglée sur la ligne de commande via l'option -cp.

4

Je viens d'avoir le même problème, j'ai essayé de courir java hello.class, c'est faux. La commande doit être java hello.

N'incluez pas l'extension de fichier. Il cherche un fichier de classe et ajoutera le nom par lui-même.

Donc, en cours d'exécution 'java hello.class' lui dira d'aller chercher le fichier 'hello.class.class'.

Questions connexes