既存のMavenアプリケーションをTomcat7.10以降を使用するようにアップグレードしようとしています。
7.8では、cargo-maven2-pluginを使用してtomcatコンテナーを起動し、webappをデプロイします。これは正常に機能します。
7.10以降では、これは次のエラーで失敗します。
[WARNING] [talledLocalContainer] 14/04/2011 12:21:43 PM org.apache.tomcat.util.digester.Digester startElement
[WARNING] [talledLocalContainer] SEVERE: Begin event threw exception
[WARNING] [talledLocalContainer] java.lang.ClassNotFoundException: org.apache.catalina.mbeans.ServerLifecycleListener
これは、このライブラリが7.9でtomcatから削除されたためですが、使用しているカーゴのバージョンでは、server.xml構成でこのライブラリが指定されています。
バグはcargo1.1.0で修正されました(http://jira.codehaus.org/browse/CARGO-923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel)
私は、Maven(より具体的にはcargo-maven2-plugin)が使用する必要があるバージョンの貨物を強制する方法を見つけようとしています。
私のpom.xmlの関連部分は次のようになります。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0.6</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<zipUrlInstaller>
<url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.12/bin/apache-tomcat-7.0.12.zip</url>
<installDir>${user.home}/java/cargo/</installDir>
</zipUrlInstaller>
</container>
<configuration>
<properties>
<cargo.logging>low</cargo.logging>
<cargo.servlet.port>8280</cargo.servlet.port>
</properties>
</configuration>
</configuration>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
</plugin>
問題は、これが常に、cargo-maven2-pluginバージョン番号を介してcargo1.6を使用することです。mvnrepositoryを確認すると、これは利用可能な(そして壊れている)最新バージョンです。
configuration->propertiesセクションでcore.cargo.versionを指定しようとしても、違いはないようです。
何か案は?