Mam projekt wielomodułowy, taki jak ten:
main-project/
module1/
module2/
sub-module1/
sub-module2/
sub-module3/
...
module3/
module4/
...
Muszę zdefiniować zestaw właściwości (które są zależne od środowiska, w którym chcę wydać mój projekt) w Maven2. Nie będę używać, <properties>
ponieważ jest wiele właściwości ... Dlatego używam wtyczki Properties Maven2 .
Pliki właściwości znajdują się w main-project/
katalogu. Jak mogę ustawić poprawny katalog w głównym pom.xml, aby wskazać każdemu dziecku, gdzie znaleźć plik właściwości?
<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>
Jeśli <file>env_${env}.properties</file>
ustawię tylko , to gdy Maven2 kompiluje pierwszy moduł, nie znajdzie main-project/env_dev.properties
pliku. Jeśli ustawię <file>../env_${env}.properties</file>
, błąd zostanie podniesiony na poziomie nadrzędnym lub na dowolnym poziomie podmodułu ...
${maven.multiModuleProjectDirectory}