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

Maven 自動化部署到遠端 Tomcat 7 完整配置指南

     編輯:Java 綜合教學

前置條件

  • Maven 3.3+
  • Tomcat 7.x(遠端 Linux 伺服器)
  • 專案為 Maven 多模組聚合工程(Parent POM 管理插件)

步驟 1:配置 Tomcat 使用者權限

編輯 $CATALINA_HOME/conf/tomcat-users.xml:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

關鍵點:必須包含 manager-script 角色,否則 Maven 部署會 403。驗證:瀏覽器訪問 https://host:8080/manager/text 應彈出認證框並成功登入。

步驟 2:Parent POM 引入 tomcat7-maven-plugin

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>https://your-server:8082/manager/text</url>
        <server>test</server>
        <username>tomcat</username>
        <password>tomcat</password>
        <path>/your-app</path>        <!-- 部署上下文路徑,可選 -->
        <update>true</update>            <!-- 存在則更新 -->
    </configuration>
</plugin>

注意:URL 必須以 /manager/text 結尾(Tomcat 7 專用),Tomcat 6 用 /manager/html。

步驟 3:Maven settings.xml 配置伺服器憑證

<servers>
    <server>
        <id>test</id>          <!-- 對應 pom.xml  -->
        <username>tomcat</username>
        <password>tomcat</password>
    </server>
</servers>

步驟 4:執行部署命令

# 在子模組目錄下執行
mvn clean package tomcat7:redeploy
# 或僅部署已打包的 WAR
mvn tomcat7:deploy -DskipTests

常見錯誤與解決

錯誤碼原因解決
401 Unauthorized用戶名/密碼錯誤,或 settings.xml id 不匹配核對三處憑證一致性
403 Forbidden1) URL 用 /manager/html 而非 /manager/text
2) tomcat-users.xml 缺少 manager-script 角色
修正 URL、補全角色
Connection refusedTomcat 未啟動、端口防火牆阻擋、IP 綁定錯誤啟動 Tomcat、開放端口、綁定 0.0.0.0
OutOfMemoryErrorPermGen/Metaspace 不足(熱部署類洩漏)增大 MAVEN_OPTS=-Xmx512m -XX:MaxMetaspaceSize=256m

最佳實踐建議

  1. 手動啟動 Tomcat:使用 startup.sh,避免 IDE 托管導致端口衝突或類載入器隔離問題。
  2. 分離部署環境:<server>dev</server>、<server>prod</server> 對應不同 settings.xml 憑證。
  3. 版本號管理:結合 maven-release-plugin 自動化版本遞增、標籤、部署。
  4. 健康檢查:部署後調用 /actuator/health 或自定義端點驗證服務可用性。

部署成功截圖

Tomcat 管理介面

Maven 部署輸出

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved