maven遠程部署war包到tomcat8服務器

環境準備

  1. linux服務器一臺
  2. 服務器安裝JDK
  3. 服務器安裝Tomcat

服務器Tomcat8配置

  1. 添加Tomcat權限
    配置文件路徑: tomcat/conf/tomcat-users.xml
    <tomcat-users> </tomcat-users>標籤之間添加如下內容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="yourname" password="yourpassword" roles="manager-gui,manager-script"/>
  1. 修改部署IP限制
    默認只能由本地IP進行部署,這裏需要將其設置爲任意IP都可部署
    配置文件路徑: tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

改爲

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

這裏是修改allow屬性的正則表達式,使之可以匹配任意IP地址

Maven項目POM.XML文件配置

添加maven-tomcat8插件

  <pluginRepositories>
    <pluginRepository>
      <id>tomcat8-plugin</id>
      <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>
      <!-- 配置Tomcat8插件 -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat8-maven-plugin</artifactId>
        <version>3.0-r1756463</version>
        <configuration>
          <!-- 將IP改爲服務器IP,其他不變 -->
          <url>http://IP:8080/manager/text</url>
          <!-- 項目名稱,訪問路徑爲  localhost:8080/projectName -->
          <!-- 當設置爲 / 時, 即爲 localhost:8080/, 但是注意會覆蓋ROOT項目 -->
          <path>/projectName</path>
          <!-- tomcat賬號密碼 -->
          <username>yourname</username>
          <password>yourpassword</password>
        </configuration>
      </plugin>
    </plugins>
  </build>

部署命令

部署時需要服務器先啓動tomcat

  1. 第一次部署 mvn tomcat8:deploy
  2. 再次部署 mvn tomcat8:redeploy
    注意,當部署到 / 時,應使用再次部署命令,因爲Tomcat自帶一個ROOT項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章