能夠修改類不用重啓Tomcat加載整個項目(手工啓動)
配置reloadable=true(自動重載)
使用Debug模式,前提是僅限於局部修改。(修改類不用重啓--熱加載)
(reloadable:若是這個屬性設爲true,tomcat服務器在運行狀態下會監視在WEB-INF/classes和WEB-INF/lib目錄下class文件的改動,若是監測到有class文件被更新的,服務器會自動從新加載Web應用。
在開發階段將reloadable屬性設爲true,有助於調試servlet和其它的class文件,但這樣用加劇服務器運行負荷,建議在Web應用的發佈階段將reloadable設爲false。java
)
Tomcat輕小,而WebLogic、WebSphere對硬件要求比較高,吃內存、耗CUP。JBoss類更改不會重啓(傳說,我沒用過,不知道!)。
在使用Eclipse+Tomcat開發Java項目的時候經常會碰到這樣的狀況,已修改Java文件Tomcat就會自動重啓,接下來就是漫長的等待服務重啓完畢。那其實大多數的Java文件修改是沒有必要重啓服務的,只有一些特定的Java文件,好比說只有重啓服務的時候纔會調用的Java代碼才須要重啓服務。
一修改java代碼就從新部署(console有明顯提示),且會話失效,設置服務器爲debug模式(debug on server),不然修改不起做用.
何時應該redeploy,何時應該重啓tomcat。若是項目大,redeploy和重啓tomcat的系統開銷是很大的,常常要等很長時間。
Tomcat運行時動態重載類, 實現重載功能的測試jsp。當系統中有不少類時,若是開啓了Tomcat的reloadable=true,那麼每當相關文件改變時,Tomcat會中止 web app並釋放內存,而後從新加載web app.這實在是個耗時的工程. 若是能有隻重載某幾個類的功能,將極大的知足我這個即時調試狂。
1.修改類不重啓Tomcat(不用手動重啓)
首先須要設置server.xml中的Context reloadable="true", true自動重載(不是重啓!), false手動重載。(若是項目在Tomcat中,應該去Tomcat目錄設置。)
Eclipse EE 設置方式,文件設置:server.xml > reloadable="false" 界面設置:Server > Modules > Edit > webapp > Auto reloading enabled > false
開發階段一般都設爲true,方便開發,在發佈階段應該設置爲false,提升應用程序的訪問速度。能夠選擇把其餘不相關的項目先從webapps移出,這樣tomcat加載的項目就少了,相應也就快了。web
這裏是重點:修改tomcat conf目錄下的server.xml,添加:tomcat