2 votes

Comment créer un JAR qui dépend d'un autre JAR ?

Je suis en train d'essayer de créer une application modulaire, et j'ai un problème car j'ai deux modules, où l'un dépend de l'autre.

Par exemple : le module 1 a une classe qui importe des classes du module 2.

J'ai mis la ligne suivante dans mon Manifest.txt du module 1:

Class-Path: modulo_2.jar

... mais je reçois une erreur lorsque je crée le jar car je ne peux pas résoudre l'import des classes du module 2 dont j'ai besoin dans le module 1. Malgré les erreurs, le jar est créé. Après le déploiement du projet, j'ai toujours la même erreur indiquant que mes classes ne peuvent pas résoudre les imports, quelqu'un a une idée de comment je peux faire fonctionner cela.

2voto

kgiannakakis Points 62727

Lorsque vous construisez le fichier JAR (à l'heure de la compilation), le module_2.jar doit être dans le chemin de classe. Vous devez d'abord construire le module_2.jar et l'ajouter au chemin de classe. Si vous utilisez la ligne de commande pour construire :

javac -cp module_2.jar mes_fichiers_java

À l'exécution, le module_2.jar doit être à l'emplacement indiqué dans le fichier manifeste. Si vous avez utilisé Class-Path: module_2.jar, placez alors le module_2 dans le même dossier que le module_1 et exécutez-le de cette manière :

java -jar module_1.jar MaClassePrincipale

-1voto

Ben Hardy Points 951

Autrement, au lieu de bricoler avec les manifestes vous-même, vous pourriez essayer de construire avec Maven2, qui a une gestion des dépendances très pratique, et utiliser le plugin d'assemblage pour construire un tar.gz distribuable dans lequel expédier votre application avec ses dépendances.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X