maven-tomcat-plugin(現更名為 tomcat-maven-plugin)通過 Tomcat Manager API 實現 WAR 包的一鍵部署/卸載/啟動/停止。本文給出生產可用的 pom.xml 完整配置片段。
<properties>
<cargo.container.manager.url>https://192.168.1.107/manager</cargo.container.manager.url>
<cargo.container.username>admin</cargo.container.username>
<cargo.container.password>123456</cargo.container.password>
<cargo.wait>false</cargo.wait>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<path>/runes</path>
<url>${cargo.container.manager.url}</url>
<username>${cargo.container.username}</username>
<password>${cargo.container.password}</password>
<warDirectory>${basedir}/src/main/webapp</warDirectory>
</configuration>
<executions>
<execution>
<id>tomcat-deploy</id>
<phase>deploy</phase>
<goals><goal>deploy</goal></goals>
</execution>
<!-- 可按需啟用 undeploy/start/stop 等 goal -->
</executions>
</plugin>
</plugins>
</build>
| 參數 | 說明 |
|---|---|
| path | Web 應用上下文路徑,如 /runes |
| url | Tomcat Manager 端點,通常為 https://host:port/manager |
| username/password | Tomcat tomcat-users.xml 中配置的 manager-script 角色用戶 |
| warDirectory | WAR 來源目錄,預設 target,此處指向 src/main/webapp(爆炸式部署) |
conf/tomcat-users.xml 添加用戶:<user username="admin" password="123456" roles="manager-script"/>mvn tomcat:deploy # 部署
mvn tomcat:redeploy # 重新部署(先 undeploy)
mvn tomcat:undeploy # 卸載
mvn tomcat:start # 啟動應用
mvn tomcat:stop # 停止應用
org.apache.tomcat.maven:tomcat7-maven-plugin(Tomcat 7+)或 tomcat8/9-maven-plugin,建議新專案使用新坐標warDirectory 指向 src/main/webapp 為爆炸式部署,若需標準 WAR 包請指向 ${project.build.directory}/${project.build.finalName} 或執行 mvn package 後再部署極簡配置,即享一鍵部署便利。