在eclipse中啟動tomcat加載不了項目的解決方法


  一、在server視圖右鍵選擇Add and Remove時,如果想要部署的項目不在左側的待選列表中,或是彈出警告There are no resources that can be added or removed from the server.。那么首先檢查想要部署的項目是否open。如果沒有,open project之后再試試。

  二、若還是不行,則右鍵項目-->properties-->Projects Facets把下圖的三個勾給打上。點擊確定等待重新編譯,編譯完成且未出現警告的話,再重新試試.選擇Dynamic Web Module的版本時,應根據dynamic web module和對應的TOMCAT 版本來設定。如果剛開始時候設置錯了,則修改

  

  三、這時,如果項目未包含有WebContent文件夾,那么eclipse會自動創建WebContent文件夾,並將WebContent文件夾作為默認的讀取lib以及jsp的路徑,這時problems視圖里會出一大堆錯,因為編譯器找不到lib包了。下圖中的Web App Libraies就是從WebContent文件夾中加載的。

  

  這時你有兩個選擇,第一個是把你的jsp和lib全部移動到WebContent文件夾中來,使得編譯器能找到(如果是自己一個人的項目可以這么做,如果是多人協作的svn項目不推薦這么做)。第二個選擇是重新配置部署路徑,右鍵工程properties-->Deployment Assembly,remove掉/WebContent,然后add你自己的文件夾。比如我的項目放置lib和jsp以及各種資源的文件夾是web,那么add Folder 選擇web,點擊finish即可。如下圖:

  

  需要注意的是,即使第三步編譯不報錯,啟動tomcat時也不一定能加載得到項目。因為有些項目的jar包可能不是從Web App Libraies里加載的,而是直接通過Add External JARS來加載的。這時候eclipse編譯是沒問題了,但tomcat加載時依然加載不到jsp以及lib、WEB_INF等等資源文件。因為tomcat啟動時仍然是根據Deployment Assembly來尋找jsp以及lib、WEB_INF等等資源文件的。如果找不到,tomcat啟動是正常的,但是你想要部署的項目不會被部署到tomcat上。

  四:啟動tomcat,如果能在瀏覽器中訪問應用則說明加載成功。如果不能,則去看看有tomcat加載文件時有哪些文件漏掉了?如下圖:

  

  或者打開D:\eclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\conf\server.xml,查看<Context>標簽下的路徑,在我的電腦中打開此路徑。

  

  如果能在打開的文件夾中看到文件和ecplise中的一一對應,那么就說明加載成功了。左圖中的WEB_INF文件夾里應包含classes文件夾,並且內容和右圖中的build下的classes里的一致。(因為我的eclipse編譯路徑設為ccegp/build/classes,不是ccegp/web/WEB_INF/classes)

  

  如果不是一一對應,重新啟動一下tomcat,留意一下控制台輸出。再不行可能得重啟一下eclipse。因為有些時候配置不是立刻生效的。

  

  參考:http://stackoverflow.com/questions/75786/eclipse-how-can-i-change-a-project-facet-from-tomcat-6-to-tomcat-5-5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM