我正在尝试升级我现有的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中删除了,但是我使用的cargo版本仍然在它的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 )应该使用的cargo版本。
我的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,这是可用的最新版本(已损坏)。
如果我尝试在配置->属性部分指定core.cargo.version,似乎没有任何区别。
有什么想法吗?
发布于 2015-05-06 00:09:08
我知道这张票很旧,但它的答案对其他愿意打开它的人是有用的。
您可以在pom.xml中的插件定义中直接指定依赖项,从而覆盖插件依赖项的版本,如以下示例所示。cargo-maven2-plugin的版本是1.4.10,我覆盖了一些依赖项的版本,转而使用1.4.11。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.10</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
</container>
</configuration>
<executions>
<execution>
<id>run</id>
<goals>
<goal>start</goal>
</goals>
<phase>pre-integration-test</phase>
</execution>
<execution>
<id>finish</id>
<goals>
<goal>stop</goal>
</goals>
<phase>post-integration-test</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core-api-generic</artifactId>
<version>1.4.11</version>
</dependency>
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-documentation</artifactId>
<version>1.4.11</version>
</dependency>
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-daemon-client</artifactId>
<version>1.4.11</version>
</dependency>
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core-api-container</artifactId>
<type>test-jar</type>
<version>1.4.11</version>
</dependency>
</dependencies>
</plugin>https://stackoverflow.com/questions/5658019
复制相似问题