You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by toddfas <to...@gmail.com> on 2015/06/02 18:35:47 UTC

Deploy local war to Tomcat with Maven plugin

I'm trying to use the Tomcat Maven plugin to deploy a local war (file path
relative to the Tomcat server) and can't seem to find the right combination
of configuration. The plugin always wants to validate the WAR file path
specified exists relative to the plugin - not the Tomcat server.

Currently we use the Ant deploy task with a localWar specified (
https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/ant/DeployTask.html#localWar).
Does the Maven plugin offer a similar option?

Background:
Our local development machines are a combination of Windows, OSX, and
Linux. All developers have Tomcat running inside a Linux Vagrant VM. The
builds happen on their host machine and are deployed to the Tomcat instance
via a shared folder path (i.e. the WAR file on their host is
c:\app\target\app-1.0.0-SNAPSHOT.war and is
/vagrant/target/app-1.0.0-SNAPSHOT.war on Vagrant VM running Tomcat). I
want to deploy to the Tomcat instance using the VM file path because it is
faster than uploading it to Tomcat over HTTP.

Here was my test using curl to compare the two (33 seconds vs 19 seconds):

time curl -T target/app-1.0.0-SNAPSHOT.war  "
http://mgr:mgrpw@127.0.0.1:8080/manager/text/deploy?path=/app&update=true"
OK - Deployed application at context path /app
curl -T target/app-1.0.0-SNAPSHOT.war   0.02s user 0.17s system 0% cpu
33.031 total

time curl "
http://mgr:mgrpw@127.0.0.1:8080/manager/text/deploy?path=/app&update=true&war=/vagrant/target/app-1.0.0-SNAPSHOT.war
"
OK - Deployed application at context path /app
curl   0.00s user 0.01s system 0% cpu 19.571 total

Thanks for any insight.
Todd