Maison > Java > javaDidacticiel > Comment exécuter un fichier JAR avec des dépendances externes à partir de la ligne de commande ?

Comment exécuter un fichier JAR avec des dépendances externes à partir de la ligne de commande ?

Linda Hamilton
Libérer: 2024-12-16 13:18:15
original
467 Les gens l'ont consulté

How to Run a JAR File with External Dependencies from the Command Line?

Exécution de fichiers JAR avec un chemin de classe personnalisé à partir de la ligne de commande

Lors de l'exécution d'un fichier JAR qui repose sur des dépendances externes, en spécifiant le chemin de classe approprié est crucial. Ce problème survient lorsque les tentatives d'exécution d'un fichier JAR avec un répertoire de chemin de classe spécifié (lib/*) ne parviennent pas à charger la classe principale ou à trouver les bibliothèques requises.

La solution réside dans la compréhension du comportement de l'option -jar. Lorsqu'il est utilisé, il remplace les autres paramètres de chemin de classe spécifiés avec -cp. Ceci est indiqué dans la documentation :

"Lorsque vous utilisez cette option, le fichier JAR est la source de toutes les classes d'utilisateurs et les autres paramètres de chemin d'accès aux classes d'utilisateurs sont ignorés."

Par conséquent, y compris dépendances dans le cadre du fichier JAR ou modifier le chemin de classe à l'aide de -jar n'est pas réalisable.

Pour exécuter avec succès le fichier JAR avec le chemin de classe souhaité, tenez compte de ces éléments options :

Option 1 : Inclure les dépendances dans le manifeste JAR

  • Ajoutez tous les fichiers JAR nécessaires du répertoire lib au manifeste du JAR à l'aide de chemins relatifs.
  • Par exemple, si le fichier JAR cible est nommé MyJar.jar et que les dépendances sont dans lib/dependency1.jar, lib/dependency2.jar, etc., l'entrée du manifeste serait la suivante :
Class-Path: lib/dependency1.jar lib/dependency2.jar
Copier après la connexion

Option 2 : Spécifier le chemin de classe sur la ligne de commande

  • Utilisez l'option -cp pour spécifier à la fois le fichier JAR et le chemin de classe répertoire :
java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
Copier après la connexion

Cette approche doit prendre en compte tous les fichiers JAR nécessaires, y compris le JAR principal lui-même.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal