轉!!!解釋Eclipse下Tomcat項目部署路徑問題(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)


1.配置eclipse的開發環境,配置jdk的安裝路徑和tomcat安裝路徑。

2.在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一個tomcat,通過啟動該tomcat來發布Dynamic Web Project的時候,其實並未將工程發布到tomcat 安裝目錄所在的 webapps下。這點可以去上述的tomcat 安裝目錄 的webapps目錄下查看。從啟動時候的控制台輸出來看項目是被發布到了如下的目錄:

信息: Set web app root system property: 'webapp.root' = [D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ ]

打開該目錄可以很清楚的看到存在zhgy這樣一個文件夾,這就是我們現在可以訪問的項目目錄。

    

        再打開 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\   這個目錄,可以看到這個目錄下的結構和D:\Tomcat 6.0 的目錄結構是一模一樣的,只是多了個wtpwebapps目錄。其實D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 這個目錄就是eclipse的對 D:\Tomcat 6.0 目錄的一個克隆,從而使 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\ 也能夠具備源服務器的功能。

 

3. 如果再new幾個服務器,就會在 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\ 目錄下依次出現temp0、temp1、temp2等多個克隆服務器,但是這里每次只能啟動上面一個克隆服務器,因為他們都使用的是相同的啟動端口(當然還有相同的關閉端口等)。

 

 

   這樣會給我們帶來很多的不方便。舉個例子:就上述工程而言,當我們在進行開發的時候,項目需要將上傳的圖片放入到工程的同級目錄的upload文件夾的時候,會發現圖片是上傳到了所在的目錄D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\upload\ ,但是無法在瀏覽器中訪問到上傳的圖片。這時候我們可以手動將該upload目錄整個復制到 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\,這時在瀏覽器中的確就可以訪問了。造成這種現象的原因是tomcat服務器默認webapps為工程目錄,而不是 wtpwebapps 目錄。之所能夠通過瀏覽器訪問 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ 下的zhgy這個項目,是由於eclipse通過tomcat發布項目的時候在 D:\workSpace-jx\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\conf 目錄的server.xml文件中有如下的設置:

 

  1. <Context docBase="D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\zhgy"   
  2. path="/zhgy" reloadable="true" source="org.eclipse.jst.jee.server:zhgy"/>  

 

 

這一點我們可以通過在查看eclipse中新建的tomcat屬性來了解,如下圖中Server Locations中所示:

         手動拷貝雖然可以解決問題,但是確實不方便。但是上圖中的Server Locations是灰色的,不能更改。其實eclipse新建tomcat克隆的時候是可以更改的,只是在new這個tomcat的時候不要添加任何工程進去,再在tomcat上點擊右鍵open:


免責聲明!

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



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