2013-03-26 2 views
2

J'ai besoin de construire un type différent de bibliothèque qui diffèrent uniquement par les informations de manifeste.maven avec plusieurs artefactID

Ce n'est pas une bonne idée de faire des projets différents puisque les sources sont exactement les mêmes.

J'ai essayé le module pom, mais l'enfant pom ne peut pas faire référence à la source parente.

J'ai également essayé artifactId avec la propriété (par exemple: libarayname-${type}), mais il ne semble pas correct.

Quelqu'un a une idée?

+1

vérifier si cela aide http://stackoverflow.com/q/9075259/2006839 – Lakshmi

+1

mettre un autre pom dans le même répertoire devrait fonctionner, je pense. Merci. – tompal18

Répondre

0

Vous pouvez personnaliser la MANIFEST.MF en configurant le maven archiver plugin

Une approche « force brute » à ce que vous essayez d'atteindre est de créer un profil de Maven pour chaque variation de MANIFEST.MF que vous avez besoin.

+0

Le problème est que artéfactID est le même. Lorsque j'exécute le déploiement, les fichiers jar seront chargés dans le même ID d'objet dans le référentiel. – tompal18

+0

True. Je n'y ai pas pensé. Dans ce cas, la suggestion d'utiliser plusieurs fichiers pom semble être une bonne idée. – NilsH

1

Vous devriez essayer d'utiliser les assembly plugin

Utilisez deux descripteurs de montage différents, et vous pourrez également spécifier différents fichiers MANIFEST. Voir le plugin usage pour plus d'informations.

Vous pouvez ensuite générer deux bibliothèques avec des classificateurs différents, afin que l'autre projet puisse en dépendre.

0

Ce que vous devez réellement utiliser est un classificateur. Vérifiez le maven-jar-plugin pour plus d'informations sur la façon de produire plus d'un artefacts à partir d'un seul projet. Par exemple, si le projet s'appelle foo, vous pouvez avoir foo-1.2.3 et foo-1.2.3-jdk14, ou quelque chose du genre.

Questions connexes