En Java, il existe deux façons d'exécuter un fichier JAR : en utilisant l'option -jar ou en spécifiant le chemin de classe avec -cp. Cependant, tenter de combiner les deux options entraîne une erreur.
Lors de l'utilisation de -jar, la machine virtuelle Java (JVM) suppose que le fichier JAR contient toutes les dépendances nécessaires. Par conséquent, il n'est pas recommandé de spécifier un chemin de classe supplémentaire avec -cp.
Au lieu de cela, il existe deux approches alternatives :
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar"> <classpath> <fileset dir="libs" includes="*.jar" /> </classpath> </manifestclasspath></code>
<code class="xml"><jar destfile="MyProgram.jar" basedir="classes"> <manifest> <attribute name="Main-Class" value="main.Main" /> <attribute name="Class-Path" value="${myprogram.manifest.classpath}" /> </manifest> </jar></code>
En spécifiant le chemin de classe dans le manifeste , java -jar MyProgram.jar inclura toutes les dépendances.
java -cp 'MyProgram.jar:libs/*' main.Main
L'utilisation de la syntaxe * se développe pour inclure tous les fichiers JAR dans le répertoire "libs".
N'oubliez pas qu'il est crucial de choisir l'approche -jar ou -cp. La combinaison des deux peut entraîner des conflits et des erreurs de chemin de classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!