我正在尝试升级我现有的 Maven 应用程序以使用 tomcat 7.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 配置中指定该库。
该错误已在 cargo 1.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 版本号使用 cargo 1.6。如果我检查 mvnrepository 这是可用的最新版本(并且已损坏)。
如果我尝试在 configuration->properties 部分指定 core.cargo.version,它似乎没有任何区别。
有任何想法吗?