Eclipse/tomcat 如何實(shí)現(xiàn)熱部署和熱啟動
1、 熱部署:就是容器狀態(tài)在運(yùn)行的情況下重新部署整個項(xiàng)目.在這種情況下一般整個內(nèi)存會清空,重新加載.簡單來說就是Tomcat或者其他的web服務(wù)器會幫我們重新加載項(xiàng)目.這種方式可能會造成session丟失等情況。
2、熱加載:就是容器狀態(tài)在運(yùn)行的情況下重新加載改變編譯后的類.在這種情況下內(nèi)存不會清空,sessin不會丟失,但容易造成內(nèi)存溢出,或者找不到方法。因?yàn)閮?nèi)存無法轉(zhuǎn)變成對像. 一般改變類的結(jié)構(gòu)和模型就會有異常,在已經(jīng)有的變量和方法中改變是不會出問題的。
eclipse配置熱啟動:
在基于Java的實(shí)現(xiàn)熱部署、熱加載的過程中,類裝入器扮演著重要的角色。類裝入器不能重新裝入一個已經(jīng)裝入的類,否則會報(bào)java.lang.LinkageError,但只要使用一個新的類裝入器實(shí)例,就可以將類再次裝入一個正在運(yùn)行的應(yīng)用程序。一般debug模式都支持熱加載。
但我在這里遇到了eclipse使用debug啟動卻并沒有熱加載的狀況,這樣對于開發(fā)來說是非常耗時的,因?yàn)槊扛囊淮蝐lass文件都需要重新編譯。下面我就如何使用eclipse進(jìn)行熱加載,做一個簡單介紹:
啟動eclicpse 找到下面這個目錄
打開server.xml,找到
這行代碼,在你部署新項(xiàng)目的時候,docBase和source會隨著改變,現(xiàn)在還是熱部署的狀態(tài),這樣每次更改class文件都會自動的去編譯,比較耗時,接下來我們更改一下配置:
這里將reloadable改為false,添加crossContext="true",這樣就能進(jìn)行 熱啟動 了,注意:需要用debug啟動
不過我們需要在每次部署新項(xiàng)目的時候,重新去更改這個配置,我們可以觀察每次部署新項(xiàng)目的時候,server.xml這個文件的動態(tài)變化,設(shè)置完成之后如果啟動項(xiàng)目熱加載并沒有生效,那么勾選eclipse-->project-->Build Automatically,加上自動編譯。
下面附上每個屬性的含義
- path 指出你的訪問路
- docBase指出你的存放路徑
- debug 為設(shè)定debug的等級0提供最少的信息,9提供最多的信息
- reloadable=true時 當(dāng)web.xml或者class有改動的時候都會自動重新加載不需要從新啟動服務(wù)
- crosscontext="true"表示配置的不同context共享一個session(可以不配置)
Tomcat配置熱啟動
具體方法如下:
第一步: Tomcat安裝目錄下,修改 conf/server.xml 中的 Host 配置,設(shè)置其reloadable屬性為true,即在Host標(biāo)簽中添加reloadable="true"這一句,重啟Tomcat使配置文件生效。
第二步:在conf文件夾中的web.xml文件中添加
<init-param> <param-name>development</param-name> <param-value>true</param-value> </init-param>
第三步:重啟tomcat服務(wù)器,使修改生效。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
tomcat使用問題之安裝后無法訪問localhost:8080解決
當(dāng)Tomcat無法訪問localhost:8080時,可能是由于未啟動、環(huán)境變量未配置、端口號占用或版本問題,這篇文章主要介紹了tomcat使用問題之安裝后無法訪問localhost:8080解決的相關(guān)資料,需要的朋友可以參考下2024-10-10Linux中使用Docker容器構(gòu)建Tomcat容器的完整教程
Apache?Tomcat?是一款廣泛使用的開源?Java?應(yīng)用服務(wù)器,適用于運(yùn)行?Java?Servlet?和?JSP?應(yīng)用程序,本教程將詳細(xì)介紹如何在?Docker?中構(gòu)建并運(yùn)行一個?Tomcat?容器,并提供相應(yīng)的步驟和解釋,需要的朋友可以參考下2024-09-09一個tomcat下部署多個項(xiàng)目的詳細(xì)步驟
一個tomcat下如何部署多個項(xiàng)目,Linux跟windows系統(tǒng)下的步驟都差不多,以下linux系統(tǒng)下部署為例,windows系統(tǒng)下部署同理,接下來小編就給大家詳細(xì)的介紹一下在一個tomcat下部署多個項(xiàng)目的操作步驟,需要的朋友可以參考下2023-08-08