2011-05-09 2 views
1

J'ai créé un programme Java dans Eclipse. Lorsque j'exécute le programme dans Eclipse ("run as -> Java Application") le programme fonctionne bien et j'ai la bonne sortie. Cependant, lorsque je tente d'exécuter le programme dans l'interface de ligne de commande, je suis cette erreur:Problèmes d'exécution d'un programme Java à partir de l'interface de ligne de commande

Exception in thread "main" java.lang.NoClassDefFoundError : HelloWorld (wrong name: helloworld/HelloWorld) Could not find the main class: HelloWorld. Program will exit.

Le fichier de classe se trouve dans répertoire bin et je tente de l'exécuter avec la commande:

java HelloWorld 
+0

Votre classe est-elle dans le package par défaut (c'est-à-dire, aucune déclaration de package)? Et en disant 'j'essaie de le compiler avec la commande: java HelloWorld', voulez-vous dire courir? – wjans

+0

Oui, je veux dire exécuter le projet sans le compiler. – Victor

+0

Ma classe a une déclaration de paquetage: package helloworld; – Victor

Répondre

1

Étant donné que votre classe est dans le paquet, vous devez l'exécuter comme helloworld ceci:

java helloworld.HelloWorld 

Assurez-vous aussi « » est sur votre chemin de classe.

+0

Cela a fonctionné. J'ai dû le taper dans le répertoire avant le répertoire helloworld. – Victor

1

I try to compile it with the command: java HelloWorld

compiler un programme java, vous devez utiliser la commande javac comme

javac Helloworld.java 
+0

Je voulais dire exécuter le fichier pas compilé car il est déjà compilé. – Victor

+0

@Victor: Fournissez-vous tous les jars requis dans classpath lors de son exécution? –

+0

Je n'ai pas de fichiers jar seulement le HelloWorld.class et le HelloWorld.java – Victor

1

Etes-vous sûr que le répertoire où vos classes sont est dans le classpath? Généralement, dans le répertoire de votre projet, le répertoire "classes" ou "lib".

Si vous exécutez à partir de ce répertoire, vous pouvez essayer d'ajouter ".".

Voir le paramètre -cp de l'exécutable java runtime.

+0

Mais le fichier est déjà compilé, j'ai juste besoin de l'exécuter. – Victor

+0

Vous avez besoin de ceci pour l'exécuter, pour le compiler, la commande est javac. – SJuan76

Questions connexes