Ich habe ein Multi-Modul-Projekt wie dieses:
main-project/
module1/
module2/
sub-module1/
sub-module2/
sub-module3/
...
module3/
module4/
...
Ich muss in Maven2 eine Reihe von Eigenschaften definieren (die von der Umgebung abhängen, von der ich mein Projekt freigeben möchte). Ich werde nicht verwenden, <properties>
da es viele Eigenschaften gibt ... Daher verwende ich das Eigenschaften Maven2-Plugin .
Die Eigenschaftendateien befinden sich im main-project/
Verzeichnis. Wie kann ich das richtige Verzeichnis in der Hauptdatei pom.xml festlegen, um allen untergeordneten Elementen anzugeben, wo sich die Eigenschaftendatei befindet?
<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>
Wenn ich nur setze <file>env_${env}.properties</file>
, findet Maven2 beim Kompilieren des ersten Moduls die main-project/env_dev.properties
Datei nicht. Wenn ich einstelle <file>../env_${env}.properties</file>
, wird ein Fehler auf der übergeordneten Ebene oder auf einer beliebigen Untermodulebene ausgelöst ...
${maven.multiModuleProjectDirectory}