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 :

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
...
Chaque projet a un pom, dont l'ancetre final est celui de java.project.parent.
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 :
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>
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 ?

Merci d'avance!