更改Eclipse下Tomcat的預設自動部署目錄

來源:互聯網
上載者:User

使用eclipse開發是因為機器不夠用myeclipse,eclipse也比myeclipse清爽很多,啟動速度也快。這裡的搭建開發環境使用: Jdk1.6+Tomcat6+Eclipse JEE, 工作目錄如下環境目錄如下:

       安裝路徑:

       C:\Java\Jdk1.6.0

       C:\Java\Jre1.6.0

       D:\Tomcat 6.0

       D:\workSpace

       D:\Eclipse

 

      配置eclipse的開發環境,配置jdk的安裝路徑和tomcat安裝路徑。在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\ 也能夠具備原始伺服器的功能。

 

      如果再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檔案中有如下的設定: Xml代碼   <Context docBase="D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\wtpwebapps\zhgy" path="/zhgy" reloadable="true" source="org.eclipse.jst.jee.server:zhgy"/>  

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

 

      

 

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

 

就可以看到Server Locations選項不再是灰色,是可以編輯的了:

 

這裡有三種可以選擇:

1.使用eclipse的工作空間,以上述為例就是 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\

2.使用tomcat的安裝目錄,以上述為例就是 D:\tomcat\

3.自訂路徑,這裡就是自己選擇目錄了

 

還可以通過修改 Deploy path 來定義工程到底部署到容器的哪個目錄下。例如下圖中,我們就可以選著 Use Tomcat Installtion 這種方式,並且設定 Deploy path 為 webapps:

 

 

其實,最簡單的方法是修改VM arguments的-Dwtp.deploy屬性。該屬性位置為:eclipse功能表列Run -> Run Configurations -> Arguments -> VM arguments.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.