Maven プロジェクトがあり、surefire-plugin を使用してテストを実行しています。以前は、どのバージョンも強制せず、Maven が 2.4.3 を選択してくれました (なぜ??)。
代わりに、JUnit4 (特にパラメーター化されたテスト) をより適切にサポートする 2.7.2 を使用したいと考えています。
したがって、ルートの親 POM を次のように変更しました。
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.7.2</version>
</dependency>
</dependencies>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</pluginManagement>
ただし、子モジュールでは、これは確実に呼び出され続ける 2.4.3 です。-X デバッグ トレースは次のとおりです。
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.4.3:test'
一方、親 pom では 2.7.2 が使用されます。
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.7.2:test'
そして、Effective-pom でさえ、プラグインの「バージョン」が子モジュールに継承されていないことを示しています。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
どんな助けでも大歓迎です。
よろしく、 ラファエル