Ho un progetto multi-moduli, come questo:
main-project/
module1/
module2/
sub-module1/
sub-module2/
sub-module3/
...
module3/
module4/
...
Ho bisogno di definire una serie di proprietà (che dipendono dall'ambiente su cui voglio rilasciare il mio progetto) in Maven2. Non userò <properties>perché ci sono molte proprietà ... Quindi, uso il plugin Proprietà Maven2 .
I file delle proprietà si trovano nella main-project/directory. Come posso impostare la directory corretta nel pom.xml principale, in modo da specificare a tutti i bambini dove trovare il file delle proprietà?
<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>
Se imposto solo <file>env_${env}.properties</file>, quando Maven2 compila il primo modulo, non troverà il main-project/env_dev.propertiesfile. Se imposto <file>../env_${env}.properties</file>, verrà generato un errore a livello di genitore, o a qualsiasi livello di sottomodulo ...
${maven.multiModuleProjectDirectory}