Bonjour, je suis un peu nouveau sur maven et j'ai du mal à voir les possibilités que j'ai dessus.
J'ai un ensemble d'application de cette forme :
Chaque projet a un pom, dont l'ancetre final est celui de java.project.parent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 -java.project.parent -java.project.commun -java.project.commun.composant1 ... -java.project.app1 -java.project.app1.composant1 ... -java.project.app2 ...
Il ne doit pas y avoir de dépendance entre les java.project.appX.
Par exemple le pom de java.project.app1 est :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <artifactId>java.project.app1</artifactId> <version>${java.project.app1.version}</version> <packaging>war</packaging> <parent> <groupId>java.project.parent</groupId> <artifactId>java.project.parent</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../java.project.parent/pom.xml</relativePath> </parent>
Et dans le pom de parent j'ai pour chaque projet :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <properties> <java.project.commun.version>1.0.0-SNAPSHOT</java.project.commun.version> <java.project.app1.version>1.0.0-SNAPSHOT</java.project.app1.version> <java.project.app2.version>1.0.0-SNAPSHOT</java.project.app2.version> ... </properties>
Le problème c'est que je suis amené à déployer des war qui embarque diverse combinaison de java.project.appX
Et que actuellement mon pom pour le parent est obligé de définir toutes les versions de tous les projets possibles, même si je n'en ai pas besoin. De plus si je dois changer de version de pom parent pour un war, je dois modifier dans tous les pom fils le bloc <parent>.
De plus comme java.project.commun est le fils de java.project.parent (et ne doit pas connaître les java.project.appX) je ne peux pas dans le pom des java.project.appX lui définir des propriétés. Je dois obligatoirement le faire dans le java.project.parent, ce qui m'oblige a modifier celui-ci pour chaque war.
L'idéal serait pour moi d'externaliser ces propriétés dans un fichier qui aurait :
Comment renseigner le chemin du fichier dans les pom pour que cela marche dans mon environnement de dev eclipse ET quand je le déploie comme un war sans que j'ai à modifier ces pom ?
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <java.project.parent.version>1.0.0-SNAPSHOT</java.project.parent.version> <java.project.app1.version>1.0.0-SNAPSHOT</java.project.app1.version> <java.project.commun.version>1.0.0-SNAPSHOT</java.project.commun.version>
Merci d'avance!
Partager