我想要货物maven插件启动Tomcat7,所以我放入我的pom:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.2.0</version>
<!-- minimal configuration to let adb run (mvn package org.codehaus.cargo:cargo-maven2-plugin:run) in a local tomcat -->
<configuration>
<containerId>tomcat7x</containerId>
<containerUrl>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip
</containerUrl>
<configuration>
<properties>
<cargo.servlet.port>1718</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
问题是如果我跑:
mvn package org.codehaus.cargo:cargo-maven2-plugin:run
一切正常,但如果我跑
mvn package org.codehaus.cargo:cargo-maven2-plugin:start
在pom中设置的配置被忽略:“没有使用默认[jetty6x,嵌入式]容器定义容器”
您可以轻松地重现这一点。只需创建一个war-maven应用程序:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webappp
然后将上面的代码添加到pom并运行两个命令。
那么如何为目标ContainerId
正确设置Url
和start
- 我错过了什么?!
答案 0 :(得分:3)
所以我联系了货物支持。上面的配置确实只适用于运行目标,但也有一个适用于两者的配置(货运文档在某种程度上是错误的):
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.2.0</version>
<!-- minimal configuration to let adb run (mvn package org.codehaus.cargo:cargo-maven2-plugin:run) in a local tomcat -->
<configuration>
<container>
<containerId>tomcat7x</containerId>
<zipUrlInstaller>
<url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.zip</url>
</zipUrlInstaller>
</container>
<configuration>
<properties>
<cargo.servlet.port>1718</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
注意附加容器和zipUrlInstaller标记而不是containerUrl。