Comment inclure des fichiers jar avec un fichier java et compiler dans l'invite de commande


J'ai 3 fichiers jar et un .fichier java qui dépend de ces fichiers jar. Comment puis-je compiler le .fichier java avec ces fichiers jar en utilisant une invite de commande?

Author: Joshua McLean, 2012-02-22

10 answers

Vous pouvez inclure vos fichiers jar dans la commande "javac" en utilisant l'option "-cp".

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

Au lieu de "-cp", vous pouvez également utiliser "- classpath "

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

Vous pouvez inclure les jars chaque fois que vous compilez en définissant correctement la variable d'environnement "CLASSPATH". La variable d'environnement stockera le chemin où les jars et les classes qui doivent être utilisés pour compiler/exécuter n'importe quel fichier java. Vous n'aurez pas à inclure les pots individuellement chaque fois que vous vous compilez fichier.

Différentes machines ont 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
 81
Author: kensen john, 2018-01-19 17:00:10

Veuillez essayer sous Linux

javac -cp jarfile source file 

EXEMPLE: -

javac  -cp .:/jars/* com/template/*.java
 16
Author: Jamsheer, 2013-08-29 11:34:23

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

  1. Ouvrir l'invite de commande.
  2. Changer le répertoire à l'emplacement de votre java le fichier que vous souhaitez compiler.
  3. Définissez le chemin de classe 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 dépendance question.

 14
Author: Sarath Kumar Sivan, 2016-03-22 10:45:45

La syntaxe fonctionnera sur la commande Windows dos:

javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java
 12
Author: user2573056, 2013-07-11 15:19:40

Cela va créer .fichier de classe:

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

Cela exécutera le fichier de classe:

java -cp [jarname with specified path]: [java filename]
 4
Author: Isaq, 2017-03-03 10:38:54

Essayez Ceci.

javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java
 4
Author: Shravya, 2017-04-26 23:07:29

Les étapes suivantes sont,

  1. Copiez tous les pots et votre .fichier java dans un même dossier (Il sera facile de mentionner les noms de fichiers au lieu de mentionner le chemin long. Bien que vous puissiez garder jar et .java dans des dossiers séparés).

  2. Pour compiler,

    javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.java
    
  3. À exécuter,

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

J'espère que cela aide!

 4
Author: imbond, 2018-03-29 06:59:42

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 de la structure du paquet)

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

Remarque: Veuillez consulter les emplacements des fichiers et les noms des paquets

 0
Author: srihari, 2017-11-30 14:53:51

Vous devez spécifier les dépendances au moment de la compilation, ainsi que l'exécution

Pour compiler, utilisez ce format

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

Exemple:

javac -cp "ojdbc6.jar;c:\programs" Main.java
 0
Author: ArockiaRaj, 2018-04-25 13:51:26

Quelques fois, le changement suivant fonctionne:

java -cp ".;%CLASSPATH%" classfilename 

Remarque: SOUS Windows. Pour linux, utilisez plutôt $CLASSPATH.

 0
Author: Guru, 2018-07-17 08:14:32