web-dev-qa-db-fra.com

Comment inclure des fichiers jar avec le fichier Java et les compiler à l'invite de commande

J'ai 3 fichiers JAR et un fichier. Java qui dépend de ces fichiers JAR. Comment compiler le fichier .Java avec ces fichiers jar à l'aide d'une invite de commande?

112
user1177567

Vous pouvez inclure vos fichiers jar dans la commande "javac" à l'aide de l'option "-cp".

javac -cp ".:/home/path/mail.jar:/home/path/servlet.jar;" MyJavaFile.Java

Au lieu de "-cp", vous pouvez aussi utiliser "-classpath"

javac -classpath ".:/home/path/mail.jar:/home/path/servlet.jar:" MyJavaFile.Java

Vous pouvez inclure les fichiers jar chaque fois que vous compilez en définissant correctement la variable d’environnement "CLASSPATH". La variable d'environnement stockera le chemin où les fichiers JAR et les classes doivent être utilisés pour compiler/exécuter un fichier Java. Vous n'aurez pas à inclure les fichiers jar individuellement à chaque fois que vous compilerez votre fichier.

Différentes machines utilisent différentes méthodes pour définir le classpath en tant que variable d'environnement. Les commandes pour Windows, Linux, etc. sont différentes.

Vous pouvez trouver plus de détails dans ce blog .

http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-Java.html
96
kensen john

S'il vous plaît essayer sur Linux

javac -cp jarfile source file 

EXEMPLE :-

javac  -cp .:/jars/* com/template/*.Java
20
Jamsheer

La syntaxe fonctionnera avec la commande windows dos:

javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.Java
18
user2573056

Essayez d’ajouter tous les fichiers jar de dépendance à votre chemin de classe via les paramètres de variable d’environnement ou utilisez les étapes ci-dessous:

  1. Ouvrir l'invite de commande.
  2. Modifiez le répertoire à l'emplacement de votre fichier Java que vous souhaitez compiler.
  3. Définissez le chemin d'accès aux classes pour vos fichiers jar de dépendance comme indiqué ci-dessous:

    set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;

  4. Maintenant, vous pouvez compiler votre fichier Java. (commande: javac YourJavaFile.Java)

J'espère que cela résoudra votre problème de dépendance.

15
Sarath Kumar Sivan

Les étapes suivantes sont des étapes,

  1. Copiez tous les fichiers jar et votre fichier .Java dans un même dossier (il sera facile de mentionner les noms de fichiers au lieu de mentionner les chemins d'accès longs. Vous pouvez toutefois conserver les fichiers jar et .Java dans des dossiers distincts).

  2. Compiler,

    javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.Java
    
  3. Éxécuter,

    Java -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>
    

J'espère que ça aide!

11
imbond

Essaye ça.

javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.Java
5
Shravya

Cela créera un fichier .class:

javac -classpath "[jarname with specified path]" [Java filename]

Ceci exécutera le fichier de classe:

Java -cp [jarname with specified path]: [Java filename]
5
Isaq

Vous devez spécifier les dépendances lors de la compilation et de l'exécution

Pour compiler utilisez ce format

javac -cp "*.jar;classfile_path" filename.Java

Exemple:

javac -cp "ojdbc6.jar;c:\programs" Main.Java
1
ArockiaRaj

Si vous utilisez Ubuntu:

/opt/JavaServices/sqlite $ export CLASSPATH=/opt/JarFiles/XXXX.jar:/opt/JarFiles/XXXX.jar:/opt/JavaServices/;javac SQLiteSample.Java

Aller à l'emplacement du dossier (Hors structure de package)

/opt/JavaServices $ export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;Java sqlite.SQLiteSample

Remarque: veuillez vous reporter aux emplacements de fichiers et aux noms de paquet

0
srihari

quelques fois, faire le changement suivant fonctionne:

Java -cp ".;%CLASSPATH%" classfilename 

Remarque: sous Windows. Pour Linux, utilisez $CLASSPATH à la place.

0
Guru