目標服務器上安裝java環境和tomcat,mavenjava
確保tomcat/webapps下有tomcat自帶的manager項目git
確認manger/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />,是不是註釋的,此標籤表示只能本地127.0.0.1本地訪問mangerweb
tomcat添加角色和用戶,tomcat/conf/tomcat-users.xml最後一行添加apache
<role rolename="manager-gui"/> - 容許訪問HTML GUI和狀態頁面
<user username="admin" password="admin" roles="manager-gui"/> -編輯name和passwordwindows
啓動tomcat,訪問manager,如http://ip:port/manager,正常狀況以下圖:瀏覽器
maven項目pom引入插件tomcat
<build>
<finalName>ssmDemo</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://ip:port/manager/text</url> -前面啓動的tomcat的ip和端口,後面固定
<username>admin</username>
<password>admin</password> -前面配置的tomcat用戶名和密碼
</configuration>
</plugin>
</plugins>
</build>服務器
tomcat-maven插件默認編碼格式爲gbk,若項目編碼格式不一樣,pom.xml以下設置app
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
最後cmd或git打開到項目的根目錄,與pom.xml同級目錄,webapp
執行命令mvn -e -X clean tomcat7:deploy -Dmaven.test.skip=true
-e -X打印詳細執行堆棧信息,若不須要可不加,clean打包部署前清理,deploy第一次部署 -Dmaven.test.skip=true跳過測試步驟
執行命令後,服務器tomcat/webapps下以下圖,並無項目名的文件夾
瀏覽器訪問前面配置的http://ip:port,不加項目名稱,就能正常訪問
項目若有更新,執行命令mvn -e clean tomcat7:redeploy -Dmaven.test.skip=true
或寫入windows可執行文件,一鍵更新,在pom同級目錄下新建test.bat,打開編輯
@echo off echo 自動部署tomcat開始... echo 當前時間是:%DATE% %time% call mvn clean tomcat7:redeploy -Dmaven.test.skip=true echo 部署完成,當前時間是:%DATE% %time% echo 服務器啓動於 %DATE% %time% ,successful completed! pause