首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Tomcat 7 熱部署實戰:Maven 插件實現遠程自動化部署 (deploy/redeploy)

     編輯:Java 綜合教學

Tomcat 7 部署進化論:從手動上傳到 Maven 一鍵遠程熱部署

傳統部署方式痛點:增量發布需記錄修改文件且重啟;GUI 熱部署需手動上傳 WAR,分布式環境下極其低效。本文演示配置 Tomcat 7 管理腳本權限,接入 Maven `tomcat7-maven-plugin` 實現編譯打包部署一體化。

一、 服務端配置:開啟腳本管理權限

  1. 編輯 `/conf/tomcat-users.xml`,在 `` 根節點下添加:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin123" roles="manager-gui,manager-script"/>

tomcat-users.xml配置

  • manager-gui:Web 管理控制台權限。
  • manager-script:腳本/命令行部署權限 (關鍵)。

二、 項目端配置:pom.xml 接入插件

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <url>https://your-server-ip:8080/manager/text</url> <!-- 管理端點 -->
        <server>tomcat7</server> <!-- 對應 settings.xml server id -->
        <path>/</path> <!-- 部署到 ROOT 路徑 -->
        <username>admin</username>
        <password>admin123</password>
      </configuration>
    </plugin>
  </plugins>
</build>

pom.xml插件配置

部署路徑配置

三、 Maven Settings.xml 配置認證 (推薦,避免明文密碼)

<servers>
  <server>
    <id>tomcat7</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

四、 部署命令實戰

場景命令說明
首次部署`mvn tomcat7:deploy`ROOT 不存在時創建
更新部署`mvn tomcat7:redeploy`ROOT 存在時覆蓋 (熱部署,無需重啟)
完整流程`mvn clean package tomcat7:redeploy`清理、編譯、打包、部署一氣呵成

部署命令

編譯上傳過程

部署成功

五、 進階技巧與避坑

  • 多環境配置:利用 Maven Profile (`dev`, `prod`) 動態切換 ``, ``, ``。
  • 跳過測試加速:`mvn clean package -DskipTests tomcat7:redeploy`。
  • 並行部署:Tomcat 7 支持 `##version##` 版本化部署 (如 `myapp##001`),實現零停機灰度發布,插件配置 `true` 可自動切換。
  • Tomcat 8/9:插件坐標改為 `tomcat8-maven-plugin` / `tomcat9-maven-plugin`,管理端點同為 `/manager/text`。
  • 防火牆/安全組:確保構建機器能訪問 Tomcat 管理端口 (默認 8080)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved