Ich habe eine Eltern pom.xml mit Build/PluginManagement/Plugins/Plugin Abschnitt für maven-compiler-plugin
. Es enthält eine Konfiguration, die auf der Eigenschaft ${targetJdk}
beruht, die ebenfalls in der übergeordneten POM-Datei definiert ist.Funktioniert diese Eigenschaft in Maven3?
Und ich habe ein Kind pom.xml, die maven-compiler-plugin
von Eltern verwendet. Aber die untergeordnete pom.xml überschreibt die Eigenschaft ${targetJdk}
mit einem anderen Wert.
Parent:
<properties>
<targetJdk>1.8</targetJdk>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${targetJdk}</source>
<target>${targetJdk}</target>
<debug>true</debug>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Kind:
<properties>
<targetJdk>1.7</targetJdk>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
</plugins>
</build>
Die Frage ist also: wenn ich ein Kind Artefakt zu bauen, welche Eigenschaft Wert wird es verwendet?
Es 'verwenden 1.7 '. –
Tunaki
Ich erwarte es auch. Hast du das überprüft? – omickron
Warum überschreibt das Kind es? – khmarbaise