天天看點

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

         最近使用maven建構項目,在eclipse下開發,偶爾會出現項目部署到eclipse配置的tomcat下無法啟動的情況      tomcat是啟動了,有日志,可是通過浏覽器在位址裡輸入項目資訊,卻無法通路,總報404-找不到通路資料的錯誤,在tomcat啟動日志中檢視原因,發現以下警告,因為跟這個異常有關,其實一點關系都沒有。

警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:mbs' did not find a matching property.
           

         上次出現此問題我還寫了篇文章【 tomcat 啟動警告導緻項目無法啟動處 'source' to 'org.eclipse.jst.jee.server:xxx' did not find a matching property.】

         解決方案在百度上查找了半天,也沒有解決,最後自己隻好一點點的排查了。

    開始看tomcat的日志,發現有條警告,根據警告的内容,按上次的方法改了也不好使,最後沒有辦法,求人不如求己,耐着性子看吧。 資訊: Deploying configuration descriptor E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\mbs.xml七月 11, 2015 10:05:24 上午 org.apache.catalina.startup.SetContextPropertiesRule begin警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:mbs' did not find a matching property.七月 11, 2015 10:05:27 上午 org.apache.catalina.startup.TldConfig execute

     首先,搞清楚eclipse和tomcat部署應用的流程和路徑:ecliplse中的tomcat在預設啟動方式時,是通過配置檔案的形式調用tomcat來啟動的,在tomcat安裝目錄是看不到我門的項目的,預設在工作空間.metadata\.plugins\org.eclipse.wst.server.core\tmp0\下建立一個檔案【D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\project.xml】然後在這個檔案下tmp0目錄下,存放部署的項目名稱,具體配置内容可以輕按兩下Servers頁籤中的Tomcat,檢視Server Locations菜單,看到【Server path】就是服務配置路徑,【Deploy path】就是項目存放的路徑,在這個路徑下就可以看到我們的項目了。

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

        進入項目後,你會發現項目的完整目錄,等等,好像有點不對頭,貌似少了點檔案,讓我去其他項目目錄看看,不比不知道,一比吓一跳,人家那麼多,你勒麼少,肯定不行拉,最熟悉的【META-INF】目錄都沒有,肯定有問題

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案
Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

        問題在那裡呢?讓我吃根辣條想想,eclipse中右鍵單及項目,會彈出項目的配置資訊,在【Web Deployment Assembly】網絡部署元件中,發現【/webapp】中的内容是【/src/main/webapp】,可是我的項目中通過配置,我的【/webapp】目錄在項目根目錄下,如果按照【/src/main/webapp】這個目錄去找,部署的時候肯定找不到

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案
Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

        是不是問題出在這裡呢?試試看吧,删除【/src/main/webapp】,點選Add添加一個然後在【New Directive Type】目錄看到,main下面的【/src/main/webapp】是沒有【WEB-INF】目錄的,根目錄下【/webapp】的才有,果斷添加【/webapp】,然後删除原來的【/src/main/webapp】

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案
Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案
Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

        好了,見證奇迹的時刻到了,啟動tomcat,檢視console中的監控日志,驚喜出現了,項目的日志列印了,浏覽器裡輸入的請求頁面也找到了,問題就這麼解決了。

Eclipse下的maven web項目部署到tomcat伺服器沒有啟動的解決方案Eclipse下的web項目部署到tomcat伺服器沒有啟動的解決方案

       總結:遇到問題就耐着性子從原理分析問題原因,從啟動、配置、運作,一點點的找,問題就是這麼解決的。

資訊: Deploying configuration descriptor E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\mbs.xml七月 11, 2015 10:05:24 上午 org.apache.catalina.startup.SetContextPropertiesRule begin警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:mbs' did not find a matching property.七月 11, 2015 10:05:27 上午 org.apache.catalina.startup.TldConfig execute

繼續閱讀