Comment le module de fusion des bocaux à un seul bocal en Maven2?
J'ai un maven2 projet avec plusieurs modules jar, construire le projet permettra d'obtenir .archives jar pour chaque module dans le répertoire modules/XYZ/target/XYZ-x.x.x.jar
Maintenant, si mon projet de P est de la version P-p.q.r, et je veux générer un seul bocal P-p.q.r-all.jar avec tous les sous-modules inclus dans, comment dois-je faire?
OriginalL'auteur Xiè Jìléi | 2009-12-13
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez atteindre est appelé uber pot. Ce module a avoir avec des dépendances de tous les autres submodules vous souhaitez paquet dans un bocal. Si vous créez un autre sous-module qui permettra de produire souhaité artefact il peut être construit dans le réacteur avec toutes ses dépendances, mais si elle sera un projet distinct que vous devez installer tous les uber pot avec des dépendances.
Uber pot peut être fait en utilisant:
maven-ombre-plugin - dans votre cas, vous devez penser à exclure transitive avec des dépendances de vos modules
maven-assembly-plugin - en cette question vous trouverez une réponse détaillée
OriginalL'auteur cetnar
Dépend de la façon dont vous allez envoyer cette, si votre pot est une bibliothèque que vous souhaitez que d'autres développeurs de télécharger et d'utiliser via maven. Vous devez spécifier ces dépendances dans les projets de pom.
Si vous essayez d'envoyer quelque chose à un utilisateur final qui veut juste pour attraper le binaire et l'utilisation de votre projet, vous pouvez essayer d'utiliser le assemblée plugin pour le package de votre projet. Avec ce plugin, vous pouvez compresser un pot à côté de ses dépendances. Il ne sera pas de tout mettre dans un seul fichier jar, mais en supposant que vous configurez les utilisateurs classpath correctement il ne devrait pas.
OriginalL'auteur Clinton