Dans un POM parent fichier de mon projet, j'ai un profil qui définit certaines configurations utiles pour ce projet (et donc que je ne peux pas vous débarrasser de ce parent 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>
Mais dans mon projet, j'aimerais juste remplacer la configuration de maven-compiler-plugin pour utiliser jdk5 au lieu de jdk4 pour la compilation de test-classes.
C'est pourquoi j'ai fait cet article dans le POM de mon projet :
<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>
et ça ne marche pas ...
J'ai même essayé de remplacer la configuration de plugin régulière des sections de mon POM (je veux dire, pas pour un profil spécifique, mais pour l'ensemble de mon POM).
Quel pourrait être le problème ?
Afin de clarifier certains de mes besoins :
- Je ne veux pas de se débarrasser de la mère POM et le profil (wls7) défini à l'intérieur (car j'ai besoin de nombreuses et nombreux propriétés, configurations, ...) et ce n'est pas le processus dans ma de l'entreprise.
- Une solution basée sur la duplication d'
le POM parent et/ou le profil
définies à l'intérieur n'est pas une bonne
un. Car si le responsable de
le parent POM changer quelque chose, je
aurait à le signaler dans la mienne.
C'est juste un héritage de la matière (d'étendre ou de remplacer un profil, une configuration à partir d'un niveau supérieur POM) donc je pense que cela devrait être possible avec maven2.