Over a million developers have joined DZone.

How-To: Auto Deploy A Web Application In Tomcat Using The Maven Cargo Plugin

Make the transition to Node.js if you are a Java, PHP, Rails or .NET developer with these resources to help jumpstart your Node.js knowledge plus pick up some development tips.  Brought to you in partnership with IBM.

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.

<xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
</tomcat-users>

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].

[img_assist|nid=4107|title=|desc=|link=none|align=none|width=505|height=68]

Note: The Tomcat server should be started before you execute cargo related Maven commands.

Learn why developers are gravitating towards Node and its ability to retain and leverage the skills of JavaScript developers and the ability to deliver projects faster than other languages can.  Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}