Maven2のcobertura-maven-pluginで「Unable to find the mojo ‘dump-datafile’」

感想おまちしてます!

Maven2を実行すると以下のエラーが出た。

 [INFO] Error getting reports from the plugin 'org.codehaus.mojo:cobertura-maven-plugin:2.3': Unable to find the mojo 'dump-datafile' (or one of its required components) in the plugin 'org.codehaus.mojo:cobertura-maven-plugin'
net/sourceforge/cobertura/coveragedata/CoverageDataContainer (Unsupported major.minor version 49.0)

すごくはまったんだけど、これはpom.xmlの書き方がおかしいときに発生するみたい。

上の例はcobertura-maven-plugin2.3で発生したんだけど、JDKのバージョンによってはエラーになるみたい。
cobertura-maven-pluginのサイトを読んでみると、Goalsに書いているpom.xmlの書き方と、Usageに書いてあるpom.xmlの書き方が異なる。

どうも、Usageの書き方はJDK1.4で動く。

 <project>
・・・
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin
</artifactId>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

JDK1.6(たぶん、1.5も?)の場合は、Goalsの書き方じゃないと動かなかった。

 <project>
・・・
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
<project>