我正在尝试设置 maven cargo 插件。我有以下要求:
- 雄猫 6
- 自定义 server.xml
- 自定义 context.xml
- log4j jar 部署到 tomcat lib
- 如果机器上还没有tomcat,请在机器上安装它
- 绑定到 maven 的安装生命周期阶段以部署战争并重新启动容器
- 使部署的战争成为 ROOT.war
我遵循了以下内容:http ://www.java-tutorial.ch/maven/maven-tomcat-deployment-using-cargo 。这不是我想要的完整功能集,甚至不能完全工作。这就是我得到的:
Can't load log handler "4host-manager.org.apache.juli.FileHandler"
[INFO] [talledLocalContainer] java.lang.ClassNotFoundException: 4host-manager.org.apache.juli.FileHandler
然后当 mvn install 返回时,我执行 ps -ef 并且没有 tomcat 进程。
它还将战争复制到 ROOT.war 但旧的 ROOT/ 目录没有被替换,因此新的 ROOT.war 实际上并没有被部署。
对于“如果还没有安装tomcat”的要求,这似乎应该是绝对简单的,但是当我提供
<zipUrlInstaller>
<url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip</url>
<extractDir>/usr/local</extractDir>
</zipUrlInstaller>
并运行 mvn cargo:install,它会抛出这个:
org.codehaus.cargo.container.ContainerException: Failed to get container installation home as the container has not yet been installed. Please call install() first.
这令人费解。它希望我先调用安装,但我正在调用安装。
想法?