Lors de l'exécution d'un fichier JAR avec la commande "java -jar MyFile.jar", c'est essentiel pour comprendre les exigences du chemin de classe. L'option "-jar" signifie que le fichier JAR contient la classe principale à exécuter, tandis que "-cp" est utilisé pour spécifier un chemin de classe supplémentaire.
Dans le scénario donné, l'erreur rencontrée est probablement due à la combinaison des options "-jar" et "-cp". Comme l'explique la réponse, ces options s'excluent mutuellement. L'utilisation simultanée des deux options génère une commande ambiguë que Java ne peut pas interpréter.
Pour résoudre le problème, l'utilisateur dispose de deux options :
Option 1 : Utiliser l'attribut Manifest-Class-Path :
Dans cette approche, le manifeste du fichier JAR inclut l'attribut "Class-Path", qui spécifie les JAR requis sur le chemin de classe. Cela élimine le besoin de l'option "-cp".
Option 2 : Spécifiez le chemin de classe complet avec "-cp" :
Pour cette option, la commande serait "java -cp 'MyProgram.jar:libs/*' main.Main". Ici, le "-cp" spécifie le chemin de classe complet, y compris le JAR principal et ses dépendances, tandis que la dénomination explicite de la classe "main.Main" garantit qu'elle s'exécute comme point d'entrée.
Alternativement, Ant peut être exploité. Pour "l'approche manifeste", le "
D'autre part, pour "l'approche classpath", le chemin de classe complet est spécifié à l'aide de l'option "-cp" en conjonction avec le fichier JAR et une dénomination explicite. de la classe principale. Cette méthode convient si l'environnement cible ne reconnaît pas l'attribut "Class-Path" du manifeste.
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!