91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

開發過程怎么使用TomcatMaven插件持續快捷部署Web項目

本篇內容介紹了“開發過程怎么使用Tomcat Maven插件持續快捷部署Web項目”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

橋西ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

我在平時工作中部署Web項目到測試服務器上的Tomcat時用的是Hudson。Hudson本身已經跟SVN、Git、Maven集成并且支持添加各種插件。但如果使用Hudson,我需要配置兩個任務:一個任務負責打包項目成WAR,另外一個任務負責部署打包好的WAR包到目標服務器的Tomcat上。雖然任務只需要配置一次,但每次修改代碼提交后,都得切換到瀏覽器點Hudson構建任務頁面上的Build Now按鈕,然后還得跳轉到另一個頁面觀察是否有報錯,然后再點擊執行相應的部署任務。煩不勝煩,偶然發現Tomcat Maven插件支持直接打包并部署項目到Tomcat中,嘗試一番后終于搞定,總結于此。

網上關于這個主題的文章也不少,過程也大同小異,但本文除了過程外還想記錄下我期間踩過的坑和關于這種部署方案的建議。

1、準備工作

下載安裝并配置好Tomcat和Maven。

準備好一個Maven Web項目。

‍2、Maven部署Web項目到Tomcat的配置‍

‍2.1、配置Tomcat角色‍

Maven自動部署實際上調的是Tomcat安裝目錄下的manager功能。而為了能正常訪問http://localhost:8080/manager頁面,我們需要修改$TOMCAT_HOME/conf目錄下的tomcat-users.xml:

                   

2.2、修改pom.xml增加Tomcat Maven插件

我使用的Tomcat7,pom.xml中增加如下配置:

     UTF-8     3.2.2.RELEASE     web-loab                             org.apache.tomcat.maven             tomcat7-maven-plugin                              http://localhost:8080/manager/text                 tomcat                 tomcat                 tomcat                 /${finalName}                            

上面username、password來自tomcat-users.xml。server是Tomcat服務器名稱。path是訪問應用的路徑。url指定Tomcat管理頁路徑。

2.3、修改Maven的settings.xml

在$USER_HOME/.m2目錄下找到settings.xml,添加server節點:

             tomcat        tomcat        tomcat      

上面的username、password依然與tomcat-users.xml中相同,id與2.2中的server相同

2.4、部署項目到Tomcat

先確保Tomcat服務器已經啟動,然后cd到項目根目錄,運行下面的命令:

mvn clean tomcat7:redeploy

部署成功,如下:

開發過程怎么使用Tomcat Maven插件持續快捷部署Web項目

然后我們就能在Tomcat安裝目錄的webapps目錄下找到新部署的WAR包。

初次部署用的是tomcat7:deploy命令,重新部署可以用tomcat7:redeploy命令(推薦統一用這個),Tomcat Maven插件支持的命令包括:run、shutdown、run-war-only、exec-war、standalone-war-only、deploy、standalone-war、undeploy、run-war、redeploy等。

3、踩過的坑

光看上面的過程,似乎非常順暢,但世上的事總是不會那么順利的。下面列舉幾個我踩過的坑。

3.1、Windows系統下,redeploy過程無法刪除舊項目的目錄

報錯信息在$TOMCAT_HOME/logs下的catalina日志文件中,如下:

信息: Undeploying context [/web-loab]  十月 11, 2014 3:52:26 下午 org.apache.catalina.startup.ExpandWar deleteDir  嚴重: [D:\tomcat\apache-tomcat-7.0.56\webapps\web-loab\WEB-INF] could not be completely deleted. The presence of the remaining files may cause problems

大概是因為Tomcat還在使用這個目錄,無法刪除,必須修改$TOMCAT_HOME/conf/context.xml:

3.2、Servelt.class offending

這個問題應該不屬于本文主題范疇了,但可能因為這個導致Web項目啟動起來卻無法訪問,報錯信息如下:

十月 11, 2014 3:46:29 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile  信息: validateJarFile(D:\tomcat\apache-tomcat-7.0.56\webapps\web-loab\WEB-INF\lib\servlet-api-6.0.29.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class

原因是webapps目錄下的某個Web項目的WEB-INF/lib目錄下有servlet-api.jar,刪除之,并在pom.xml中指定servelt-api.jar的scope為provided:

     org.apache.tomcat     servlet-api     6.0.29     provided 

3.3、版本問題

確保Web項目的Java Build Path使用的JDK版本、Java Compiler的編譯JDK版本以及Project Facets里的Java版本一致。

如果用的Tomcat6,則pom.xml中配置tomcat6-maven-plugin,如果用的tomcat7則用tomcat7-maven-plugin。或者默認用tomcat-maven-plugin。

4、有關使用Tomcat Maven插件部署項目的一些建議

這種方案能夠實現持續快捷部署。但它有一些局限性:

  • 要求從本地開發環境能直接訪問Tomcat服務器所在網段

  • 不能保留歷史部署包

因此初步建議只在開發環境使用這種部署方式,并且結合SVN、Git等版本控制軟件做兩個內部約定:

  • 所有可部署版本代碼都必須先簽入一個名為deploy-xx的分支,xx表示當前可部署版本,deploy分支代碼必須保證是可以部署的代碼,然后切到deploy-xx分支再部署項目

  • 以后增加了新功能,則需新建另一個deploy分支,并增大版本號。這樣可以利用版本控制軟件幫我們保留各個歷史可部署代碼(解決了上面提到的第二個局限性)。尤其是多個項目集成時,***保證每一次集成時各個項目的deploy分支帶的版本后綴相同。這樣可以方便各個項目代碼集體回滾

“開發過程怎么使用Tomcat Maven插件持續快捷部署Web項目”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!


文章標題:開發過程怎么使用TomcatMaven插件持續快捷部署Web項目
本文路徑:http://www.yuzhuanjia.cn/article/pesgeo.html
主站蜘蛛池模板: 亚洲免费 | av片免费在线观看不卡 | 97精品一区二区三区在线不卡 | 97人妻超级碰碰碰 | 日韩av成人片在线 | 午夜性影院在线观看视频播放 | 国产av综合精品色区 | 午夜时刻免费入口 | 午夜福利伦理电影在线观看 | av无码官方网站 | 海角视频(免费)在线观看 | 久久国产精品 | 97日日碰人人模人人澡 | 91成人看片 | 99久久久无码国产精品AAA | 99久久久精品免费观看国产 | 91破解版在线|亚洲 91妻友:夫妻交友新体验 | 91亚洲国产成人 | 97人人人人| 91精品国产乱码久久久久 | a欧美日韩高清在线播放 | 91激情详情介绍 | 国产白丝在线观看一区 | 爆乳少妇在办公室在线观看 | 放荡的美妇在线播放 | 丰满白嫩大屁 | 俺去也官网| 99在线播放视频 | 草莓视频午夜在线观影 | 9i看片成人免费 | 福利视频一区亚洲 | 91影视永久福利免费观看 | 午夜国产精品影院在线观看 | 91人妻人人妻澡人人爽人人精品 | 国产91成人在在线播放 | 91精品国产91热久久久福利 | 国产av剧情md| 爱豆传媒MV视频在线观看 | av无码窝在线观看 | 91无人区乱码一二三四的原因是什么 | av在线亚洲男人的天堂 |