eclipse tomcat maven熱部署


1、  tomcat插件

如果是Kepler的話,已經自帶了tomcat插件,如果沒有,到http://www.eclipsetotale.com/tomcatPlugin.html下載安裝或在線安裝,這里就不多說了。

2、創建Server

打開servers view(window-->show view-->servers),在servers view中新建一個server,如下圖所示:

 

 

點擊next,選擇tomcat的安裝路徑,如圖所示:

 

點擊Next,出現如圖所示的界面:

 

其中左面Availible中顯示的是當前Workspace中已經存在的web工程,右面是已經添加到tomcat和工程。如果此時還沒有那項目,可以先不管,直接Finish即可。等到創建完server后,再添加。

創建完成后,servers view中顯示了已經創建的server,如圖所示:

 

右擊該server,選擇Add and Remove即可打開前面創建時顯示的界面,把Availible中需要在tomcat中運行的項目Add到右面,點擊finish即可。如下圖所示:

3、配置server

雙擊上圖中的server,會打開該server的配置頁面,如下圖:

其中需要注意的地方有兩個(紅色標記的地方):

(1)Server Options的第一個選項Serve modules without publishing

在默認情況下,當項目部署到tomcat中,該插件會把項目文件拷貝到上一個配置項Server Locations中的顯示Server path的wtpwebapps目錄下,即當前wrokspace所在目錄下的。metadata子目錄中,如我的wrokspace是D:\workspace,那么該目錄是:D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps。

但如果選中上面的這個選項,則不會把項目文件發布到該目錄下運行,而是:

web資源目錄是:web項目的WebContent,即maven web項目的src/main/webapp目錄

class文件目錄是:是當前配置的class文件的輸出目錄,即maven項目的target/classes目錄

(2)Timeouts

默認情況下start為45秒,stop為15秒,這里可能需要修改一下start為一個合適大的值,它的意思是當啟動時間超過這里指定的時間還沒有啟動完成時,就報錯。當我們的項目啟動很耗時的情況下,這顯然不是我們想要的,所以需要修改一下這個值。

 

當創建完server后,eclipse默認為server創建一個類似的工程叫Servers,這個工程中目錄結構如下所示:

雙擊打開server.xml,當添加了一個項目到tomcat后,可以看到,自動添加了一個Context節點,如:

 

[html]  view plain copy 在CODE上查看代碼片 派生到我的代碼片
 
  1. <Context docBase="stuff" path="/stuff" reloadable="true" source="org.eclipse.jst.jee.server:stuff"/>  

其中docBase和path默認為工程名稱。

 

這里特別需要注意的是reloadable這個屬性,它是熱部署的關鍵,默認為true。在tomcat啟動后,會監視我們的工程,如果任何文件有變動,會重新加載這些變動的文件到工程發布目錄。當reloadable屬性為true時,這對於jsp文件沒有問題,但是如果是java文件修改后,這個屬性為true的話,每次修改都會自動重新啟動tomcat,這當然不是我們想要的。所以記住要把這個屬性手動修改成false,才能夠在修改了java文件時不用重啟服務也能立即生效,即熱部署。

這里說的java文件的修改,不包括新添加類和添加或修改類中的方法簽名,如果新添加類或修改了方法簽名,也是不能熱部署的,必須重啟服務才能夠生效。

4、運行
通過上面的配置,現在啟動服務來試試看,試着修改jsp或java文件,來驗證一下效果。

實際上是很簡單的操作,只是剛開始時可能有的細節問題不知道,會在上面浪費好多時間。現在好了,再也不用擔心這個問題了^_^


免責聲明!

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



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