И плагин Tomcat Maven , и плагин Maven2 Cargo поддерживают удаленное развертывание Tomcat (при условии, что приложение менеджера доступно).
Для плагина Tomcat Maven:см. страницу Использование , конфигурация довольно проста.
Для подключаемого модуля Maven2 Cargo приведен пример конфигурации (для удаленного контейнера):
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0.1-sr-1</version>
<configuration>
<wait>true</wait>
<container>
<containerId>tomcat6x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.tomcat.manager.url>[https://yourhost/manager]</cargo.tomcat.manager.url>
<cargo.remote.username>[username]</cargo.remote.username>
<cargo.remote.password>[password]</cargo.remote.password>
</properties>
</configuration>
<deployer>
<type>remote</type>
<deployables>
<deployable>
<groupId>[war group id]</groupId>
<artifactId>[war artifact id]</artifactId>
<type>war</type>
<properties>
<context>[optional root context]</context>
</properties>
<pingURL>[optional url to ping to know if deployable is done or not]</pingURL>
<pingTimeout>[optional timeout to ping (default 20000 milliseconds)]</pingTimeout>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
И введите mvn cargo:deploy
.
Cargo более мощный (потому что контейнер не зависит), но и более сложный.Для простых нужд я обнаружил, что плагин Maven Tomcat более прост.