问题
I'm trying to configure cargo
automatic deployment in my servlet project and I have these in pom.xml
file:
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core-api-module</artifactId>
<version>1.4.3</version>
</dependency>
<!--
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core-container-tomcat</artifactId>
<version>1.4.2-SNAPSHOT</version>
</dependency>
-->
<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.2</version>
</dependency>
<build>
<plugins>
<!-- cargo plugin -->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat6x</containerId>
<type>remote</type>
<systemProperties>
<cargo.jvmargs>-XX:MaxPermSize=256M -Xmx1024m</cargo.jvmargs>
</systemProperties>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.hostname>${remote.hostname}</cargo.hostname>
<cargo.protocol>${remote.protocol}</cargo.protocol>
<cargo.servlet.port>9000</cargo.servlet.port>
<cargo.tomcat.manager.url>http://localhost:9000/manager</cargo.tomcat.manager.url>
<cargo.remote.username>user</cargo.remote.username>
<cargo.remote.password>pass</cargo.remote.password>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<type>war</type>
<properties>
<context>latest</context>
</properties>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
<!-- End cargo plugin -->
</plugins>
<build>>
When I try to start cargo via mvn clean cargo:start
I get BUILD FAILURE:
[ERROR] Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.4.3:start (default-cli) on project my-app: Unable to parse configuration of mojo org.codehaus.cargo:cargo-maven2-plugin:1.4.3:start for parameter deployables: Cannot find 'deployables' in class org.codehaus.cargo.maven2.configuration.Deployer -> [Help 1]
any idea? tnx.
回答1:
According to the documentation "deployer" element can not contain "deployables" child element. To make things work you should place "deployables" under "configuration" element
<configuration>
<container>
[...]
</container>
<configuration>
<type>standalone</type>
[...]
</configuration>
<deployables>
<deployable>
<groupId>my.war.groupId</groupId>
<artifactId>my-war</artifactId>
<type>war</type>
</deployable>
</deployables>
</configuration>
回答2:
I noted that you write
How ${groupId} and ${artifactId} would be resolved ?!! Please try with static groupId and artifactId for the war app
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<type>war</type>
<properties>
<context>latest</context>
</properties>
</deployable>
</deployables>
</deployer>
来源:https://stackoverflow.com/questions/18061318/maven-failed-to-execute-cargostart