私のプロジェクトのPOM親ファイルでは、このプロジェクトに役立ついくつかの設定を定義するプロファイルがあります。Maven:親POMのプロファイルに既に定義されているプラグインの設定を上書きすることは可能です
<profile>
<id>wls7</id>
...
<build>
<plugins>
<!-- use java 1.4 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<fork>true</fork>
<source>1.4</source>
<target>1.4</target>
<meminitial>128m</meminitial>
<maxmem>1024m</maxmem>
<executable>%${jdk14.executable}</executable>
</configuration>
</plugin>
</plugins>
</build>
...
</profile>
をしかし、私のプロジェクトで、私はテスト・クラスをコンパイルするためにjdk4の代わりにJDK5使用するために、Mavenのコンパイラ・プラグインの設定を上書きしたいと思います:「Tは、この親POM)を取り除きます。
私は私のプロジェクトのPOMでこのセクションやった理由です:
<profiles>
<profile>
<id>wls7</id>
<activation>
<property>
<name>jdk</name>
<value>4</value>
</property>
</activation>
<build>
<directory>target-1.4</directory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>my-testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<fork>true</fork>
<executable>${jdk15.executable}</executable>
<compilerVersion>1.5</compilerVersion>
<source>1.5</source>
<target>1.5</target>
<verbose>true</verbose>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
...
</profiles>
、それが働いていないが...
私も(私のPOMの定期的なプラグインセクションで設定を上書きしようとしました私は、特定のプロファイルではなく、私のPOM全体で)を意味します。
何が問題なのですか?私は多くの、多くの プロパティが必要があるので、(その中
-
定義された私は親 POMおよびプロファイル(wls7)を取り除くためにしたくない
- :
は私の要件のいくつかを明確にするために、構成、...)と 私の 会社のプロセスではありません。
- 親POMおよび/またはプロファイル を複製することに基づく解決策は、 ではありません。親のPOMが
の責任を負う場合、私は
を鉱山で報告する必要があります。
私はそれがmaven2で可能であるべきだと思うので、それは単なる継承の問題です(プロファイルを拡張するか、上のPOMからの設定を上書きします)。
? –
プロファイルwls7およびwls10は、両方とも親POMの「activeByDefault」です。しかし、顧客のニーズに応じて、wls10またはその両方だけがスクリプト( "-P"パラメータ付き)で構築されます –