很久沒有寫博客了,今天爲你們分享一下如何在eclipse經過maven遠程發佈應用到Tomcat。
通常狀況下,咱們發佈應用到服務器須要現將應用導出成war包,而後鏈接服務器部署更新,這樣是很耗時的,並且不方便,做爲一名程序員要尋找儘量簡潔的方式去處理相似應用發佈的重複的操做。
maven是很是好的組織包工具,咱們如今就來使用maven實現遠程發佈應用到Tomcat服務器。程序員
個人開發環境信息:apache
maven:3.3.9
Tomcat:8.0.35tomcat
第一步:配置Tomcat角色權限信息
修改tomcat-users.xml
文件,向其中添加以下信息(用戶名密碼以實際爲準):服務器
<role rolename="manager"/> <role rolename="admin"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin123" roles="admin,manager,manager-gui,manager-script,manager-jmx,manager-status"/>
修改完成後,啓動並訪問Tomcat測試配置是否生效。
單擊Manager App
按鈕,在彈出的對話框中輸入剛纔配置的用戶信息,最後單擊登陸按鈕,成功登陸即爲配置成功。app
第二步:修改maven的setting.xml配置文件,添加服務器信息eclipse
<server> <id>devTomcat</id> <username>admin</username> <password>admin123</password> </server>
這裏面的用戶名及密碼信息要和第一步中配置的一致。maven
第三步:打開maven項目的pom.xml
文件,向其中添加以下配置工具
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <url>http://172.20.6.169/manager/text</url> <server>devTomcat</server> <path>/dev</path> </configuration> </plugin> </plugins> </build>
在這段配置中:
url爲遠程Tomcat服務器地址,理論上只要更換IP地址就能夠了,server爲maven配置文件中位置的服務器信息的id,path爲應用最後發佈的上下文路徑。測試
第四步:配置Goals爲:tomcat:redeploy
在項目上右擊,選擇Run As
->Maven Build
,在彈出的對話框中輸入Goals的值爲tomcat:redeploy
,最後單擊Run
按鈕,開始編譯發佈。這一步在配置完成後,再次單擊Maven Build
會直接編譯發佈,掛差控制檯輸出信息,輸出形以下方的內容即爲發佈成功ui
[INFO] Deploying war to http://172.20.6.169/dev
[INFO] OK - Deployed application at context path /dev
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 20.254 s
[INFO] Finished at: 2016-10-09T16:05:16+08:00
[INFO] Final Memory: 14M/228M
[INFO] ————————————————————————
若是日誌中輸出404錯誤,請檢查url配置的是否正確,若是輸出403錯誤,請檢查Tomcat用戶角色配置是否正確。
至此,咱們就完成了經過maven遠程發佈應用到Tomcat的配置。
小提示:
在編譯發佈項目的時候,Maven可能會編譯測試代碼致使編譯發佈失敗,咱們能夠在pom.xml
中添加以下配置,跳過測試代碼的編譯
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin>