Si vous avez un fichier jar appelé myJar.jar
situé dans/myfolder et que vous souhaitez utiliser la classe nommée myClass
, comment procédez-vous à partir de la ligne de commande?
Je pensais que ce serait aller dans le répertoire et dire Java -cp myJar.jar.myClass
mais cela ne fonctionne pas. Toute aide serait appréciée.
Utilisez Java -cp myjar.jar com.mypackage.myClass
.
Si la classe ne fait pas partie d'un paquet, il suffit simplement de Java -cp myjar.jar myClass
.
Si vous ne vous trouvez pas dans le répertoire où se trouve myJar.jar
, vous pouvez alors:
Sur les plateformes Unix ou Linux:
Java -cp /location_of_jar/myjar.jar com.mypackage.myClass
Sous Windows:
Java -cp c:\location_of_jar\myjar.jar com.mypackage.myClass
Tu veux:
Java -cp myJar.jar myClass
La Documentation donne l'exemple suivant:
C:> Java -classpath C:\Java\MyClasses\myclasses.jar utility.myapp.Cool
Il existe deux types de fichiers JAR disponibles en Java:
Fichier jar exécutable/exécutable contenant le fichier de manifeste . Pour exécuter un fichier jar exécutable, vous pouvez utiliser Java -jar fileName.jar
ou Java -jar -classpath abc.jar fileName.jar
.
Fichier JAR simple qui ne contient pas de fichier manifeste. Il vous suffit donc d’exécuter votre classe principale en donnant son chemin Java -cp ./fileName.jar MainClass
En supposant que vous soyez dans le répertoire où se trouve le fichier myJar.jar
et que myClass
a une méthode public static void main()
:
Vous utilisez la ligne de commande suivante:
Java -cp ./myJar.jar myClass
Où:
myJar.jar
est dans le chemin actuel, notez que .
ne se trouve pas dans le chemin actuel de la plupart des systèmes. Un chemin qualifié complet est également préféré ici.
myClass
est un chemin de package qualifié pleinement qualifié vers la classe. L'exemple suppose que myClass
figure dans le package default, ce qui est une mauvaise pratique. S'il s'agit d'un package imbriqué, ce serait com.mycompany.mycode.myClass
.
C'est la bonne façon d'exécuter un .jar
, et quelle que soit la classe dans ce .jar
qui devrait avoir main()
, les paramètres suivants lui sont associés:
Java -DLB="uk" -DType="CLIENT_IND" -jar com.fbi.rrm.rrm-batchy-1.5.jar