web-dev-qa-db-fra.com

Comment exécuter Java dans l'invite de commande

J'ai créé un projet Java pour appeler un service Web. Il a un fichier principal Java et un autre fichier de classe. J'ai utilisé des fichiers jar pour le client HTTP.
Dans Eclipse, cela fonctionne bien. J'ai besoin d'exécuter le programme Java dans l'invite de commande en passant quelques arguments.
Dans l'invite de commande, je suis allé dans le dossier src contenant le principal Java et la sous-classe Java fichier et j'ai donné la commande suivante

javac mainjava.Java    

Je reçois l'erreur suivante

mainjava.Java:14: impossible de trouver le symbole
symbole: classe SubClass

ici SubClass est mon autre Java utilisé pour appeler le service Web.

Comment exécuter le programme en passant des arguments?

22
Vignesh

javac est le Java. Java est la JVM et ce que vous utilisez pour exécuter un programme Java. Vous faites pas exécuter .Java fichiers, ce ne sont que des fichiers sources. Vraisemblablement, il y a .jar quelque part (ou un répertoire contenant .class fichiers) qui est le produit de sa construction dans Eclipse:

 Java/src/com/mypackage/Main.Java 
 Java/classes/com/mypackage/Main.class 
 Java/lib/mypackage.jar 

Depuis le répertoire Java exécutez:

Java -cp lib/mypackage.jar Main arg1 arg2

22
hmjd

Une commande très générale Demander comment Java est

javac mainjava.Java
java mainjava

Vous verrez très souvent des gens faire

javac *.Java
java mainjava

En ce qui concerne le problème de sous-classe qui se produit probablement parce qu'un chemin manque dans votre chemin de classe, l'indicateur -c, je crois, est utilisé pour le définir.

14
Shrewd

Vous pouvez utiliser la commande javac *.Java Pour compiler toutes vos sources Java. Vous devriez également en apprendre un peu plus sur le chemin de classe car il semble que vous devez définir le chemin de classe approprié pour une compilation réussie (car votre IDE utilise des bibliothèques pour créer des clients WebService). Je peux également vous recommander de vérifier quelle commande votre IDE utilise pour construire votre projet.

2
gkuzmin

Il vous suffit de:

  • Générez la classe mainjava en utilisant le chemin de classe le cas échéant (facultatif)

    javac * .Java [-cp "wb.jar;"]

  • Créer un fichier Manifest.txt avec le contenu est:

    Classe principale: mainjava

  • Empaqueter le fichier jar pour la classe mainjava

    jar cfm mainjava.jar Manifest.txt * .class

Ensuite, vous pouvez exécuter ce fichier .jar à partir de cmd avec le chemin de classe (facultatif) et y placer des arguments.

Java [-cp "wb.jar;"] mainjava arg0 arg1 

HTH.

1
Thinhbk

javac compile uniquement le code. Vous devez utiliser Java pour exécuter le code. L'erreur est parce que votre chemin de classe ne contient pas la classe Sous-classe ilorsque vous avez essayé de le compiler. Vous devez ajoutez-les avec la variable -cp dans la commande javac

Java -cp classpath-entries mainjava arg1 arg2 devrait exécuter votre code avec 2 arguments

1
Dhanush Gopinath