天天看點

修改類不重新開機tomcat 自動附加元件目

可以修改類不用重新開機Tomcat加載整個項目(手工啟動) 

    配置reloadable=true(自動重載) 

    使用Debug模式,前提是僅限于局部修改。(修改類不用重新開機--熱加載) 

    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加載的項目就少了,相應也就快了。

這裡是重點:修改tomcat  conf目錄下的server.xml,添加:

Xml代碼 

  1. <Context path="/struts2" docBase="D:\workspace\lee_struts2\WebRoot" reloadable="true"/>  

    注:docBase="",中的内容為項目的WebRoot目錄

 然後在把MyEclipse server中 tomcat 的開發模式設定debug模式,ok确定。

 然後啟動tomcat,随意修改項目中的一個檔案,就會看到Console視窗重新附加元件目,ok,搞定...

(問題:設定debug模式修改代碼後會出現“hot code replace failed”錯誤,不用管,繼續就ok,如果不想看見,讓錯誤不提示就ok,原因是debug模式代碼正在用,是以replase失敗,但其實是成功的!而設定run模式就不報錯,同時在修改代碼後也是熱部署的,重新整理頁面即可!)

2.修改類不重新開機Tomcat有兩種方式:熱部署、熱加載 

    熱部署:容器狀态在運作時重新部署整個項目。這種情況下一般整個記憶體會清空,重新加載,這種方式可能會造成sessin丢失等情況。tomcat 6确實可以熱部署了,而且會話也沒丢. 

    熱加載:最好是在調試過程中使用,免得整個項目加載,Debug模式支援熱加載。容器狀态在運作時重新加載改變編譯後的類。在這種情況下記憶體不會清空,sessin不會丢失,但容易造成記憶體溢出,或者找不到方法。 

    一般改變類的結構和模型就會有異常,在已經有的變量和方法中改變是不會出問題的(Eclipse、MyEclipse8、JBuilder、 IntelliJ IDEA…)。 

3.自動編譯JSP 

build Automatically 

修改Tomcat源代碼實作realoadable!不推薦~

附上100%完整的系統項目源碼:

JSP圖書館管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a97e.html

JSP酒店飯店管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a97m.html

JSP學生資訊管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a97r.html

JSP房屋出售租賃管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a98c.html

J2EE酒店線上預訂系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a97v.html

SSH/J2EE人力資源管理系統:http://blog.sina.com.cn/s/blog_4b5bc01101019ztu.html

ssh2圖書管理系統(圖書館管理系統): http://blog.sina.com.cn/s/blog_4b5bc0110101adf0.html

畢業設計-JSP圖書館管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a979.html

畢業設計-JSP酒店飯店管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a97z.html

畢業設計-JSP學生資訊管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a987.html

畢業設計-JSP房屋出售租賃管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101a98a.html

畢業設計-s2sh/j2ee圖書管理系統 :http://blog.sina.com.cn/s/blog_4b5bc0110101ain5.html

ssh2圖書管理系統(圖書館管理系統):http://blog.sina.com.cn/s/blog_4b5bc0110101adf0.html

畢業設計-jsp資訊釋出系統(資訊供求網站系統):http://blog.sina.com.cn/s/blog_4b5bc0110101aiou.html

struts2+servlet+jsp資訊釋出系統:http://blog.sina.com.cn/s/blog_4b5bc0110101aiop.html

畢業設計-jsp電子商城 網上商城系統:http://blog.sina.com.cn/s/blog_4b5bc0110101aiof.html

jsp電子商城 網上商城系統(struts+servlet+jsp):http://blog.sina.com.cn/s/blog_4b5bc0110101aio9.html

畢業設計-圖書管理系統 jsp圖書館系統Struts2+Spring+Ibatis+extjs(ssi):

http://blog.sina.com.cn/s/blog_4b5bc0110101ainu.html

Struts2+Spring+Ibatis+extjs(ssi)圖書管理系統 jsp圖書館系統:

http://blog.sina.com.cn/s/blog_4b5bc0110101ainh.html

ssh2圖書管理系統(圖書館管理系統):http://blog.sina.com.cn/s/blog_4b5bc0110101adf0.html

畢業設計-s2sh/j2ee圖書管理系統 struts2+spring+hibernate:

http://blog.sina.com.cn/s/blog_4b5bc0110101ain5.html

 jsp酒店線上預訂系統 酒店客房預定系統:http://blog.sina.com.cn/s/blog_4b5bc0110101atb8.html

畢業設計 jsp酒店線上預訂系統 酒店客房預定系統:http://blog.sina.com.cn/s/blog_4b5bc0110101atbb.html

人力資源管理系統 S2SH/J2EE/JAVA:http://blog.sina.com.cn/s/blog_4b5bc0110101azoz.html

畢業設計-人力資源管理系統 S2SH/J2EE/JSP:http://blog.sina.com.cn/s/blog_4b5bc0110101azp0.html

ssh網上商城 電子商城struts hibernate  :http://blog.sina.com.cn/s/blog_4b5bc0110101b5gr.html

畢業設計 ssh網上商城 電子商城struts hibernate:http://blog.sina.com.cn/s/blog_4b5bc0110101b5h2.html

畢業設計 ssh電子相冊管理系統:http://blog.sina.com.cn/s/blog_4b5bc0110101bkbl.html

實用技術:

J2EE/JSP應用技術70執行個體(源碼)(實用): http://blog.sina.com.cn/s/blog_4b5bc0110101acms.html