How to auto deploy web application in Tomcat using Maven Cargo Plugin
Posted on 14-June-2008. Incase you have any difficulty in configuration please post in our
Forum.
This tutorial is a continuation of
Struts 2 Action class using annotation in 5 minutes .
In the previous section we copied the WAR file manually under TOMCAT_HOME/webapps folder.
Here we will automate the deployment using cargo plugin. Include the code below
in
pom.xml under the project root directory [E:\theacodefactory\code\airelinesweb\airlines
as in the example considered].
The cargo plugin details should be copied under
build/plugins.
The values to be changed are in bold. Please change the values as per your requirement.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>tomcat5x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.tomcat.manager.url>
http://localhost:8080/manager
</cargo.tomcat.manager.url>
<cargo.remote.username>
tomcat
</cargo.remote.username>
<cargo.remote.password>
tomcat
</cargo.remote.password>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>
com.theasolutions.airlines
</groupId>
<artifactId>
airlines
</artifactId>
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
I have provided a user
tomcat with password also as
tomcat. The user tomcat has a manager role.
This configuration is done in
tomcat-users.xml under
TOMCAT_HOME/conf folder as in the
screenshot below.
To deploy using the Maven - cargo plugin use the command
mvn cargo:deploy as in the screenshot. [To undeploy it is mvn cargo:undeploy.
You may also use cargo:redeploy].
Note: The Tomcat server should be started before you execute cargo related Maven commands.
Watch this space for the next phase of the tutorial which explains
how to customize the project include only the required files in the WAR.