Accès à un fichier depuis n'importe quel (sous)modules
Bonjour,
J'ai un projet multi-modules (à plusieurs niveaux), dont la structure est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10
| main-project/
module1/
module2/
sous-module1/
sous-module2/
sous-module3/
...
module3/
module4/
... |
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...
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 :
Code:
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> |
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 !
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 ?