Bonjour,
J'ai un projet multi-modules (à plusieurs niveaux), dont la structure est la suivante :
J'ai besoin de définir un ensemble de propriétés (qui sont dépendantes de l'environnement destiné à la release) à Maven. Je ne souhaite pas utiliser les <properties> directement, vu que j'ai pas mal de propriétés à définir. De fait, j'utilise le plugin Properties de Codehaus, qui permet de lire un fichier properties...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 main-project/ module1/ module2/ sous-module1/ sous-module2/ sous-module3/ ... module3/ module4/ ...
Ce fichier properties se situe au niveau du répertoire racine, à savoir main-project.
Mon souci, c'est que je n'arrive pas à lui indiquer un chemin d'accès qui soit valable pour chaque module et sous-module.
Mon pom :
Si je définis <file>env_${env}.properties</file>, alors le plugin Properties va réussir à trouver le fichier quand Maven2 construira le pom parent, mais dès que l'on passe à un module, il ne le trouvera plus !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0-alpha-1</version> <executions> <execution> <phase>initialize</phase> <goals> <goal>read-project-properties</goal> </goals> <configuration> <files> <file>???/env_${env}.properties</file> </files> </configuration> </execution> </executions> </plugin>
Pareillement, si je mets <file>../env_${env}.properties</file>, alors si c'est bon pour les modules, ce ne sera pas bon pour le pom parent ou encore les sous-modules...
Donc j'ai 2 options :
- Soit j'arrive à définir une propriété pointant toujours sur le répertoire basedir du pom principal
- Soit je trouve une autre solution pour charger ces propriétés...
Une idée ?
Partager