原文地址:https://blog.csdn.net/nlwangxin/article/details/49734659
熱部署是指在你修改項目BUG的時候對JSP或JAVA類進行了修改在不重啟WEB服務器前提下能讓修改生效。但是對配置文件的修改除外!
1、直接把項目web文件夾放在webapps里。
2、在tomcat\conf\server.xml中的<host></host>內部添加<context/>標簽:
<Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>
docBase:項目路徑,可以使用絕對路徑或相對路徑,相對路徑是相對於webapps
path:訪問項目的路徑,如:http://127.0.0.1:8080/demo1
reloadable:是否自動加載新增或改變的class文件.
debug屬性與這個Engine關聯的Logger記錄的調試信息的詳細程度。數字越大,輸出越詳細。如果沒有指定,缺省為0。 也就是程序異常時寫入日志文件里的詳細程度。
3、第三種方式和第二種差不多,但是不是在Server.xml文件中添加Context標簽,而是在
%tomcat_home%\conf\Catalina\localhost中添加一個XML文件,
如:demo1.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="D:\demo1\web" reloadable="true" />
,只是缺少了path屬性,如果你硬寫個path="demo2"的話,是沒有用的,tomcat不明確的告訴你:“我不認得”,
這種方式服務器會使用xml文件的名字作為path屬性的名字,SO訪問地址為:http://localhost:8080/demo1
==========================================================================
還有一種方式:使用第三方工具
http://www.zeroturnaround.com/jrebel/
1、解壓縮包
2、執行java -jar jrebel-setup.jar
3、會彈出一個安裝界面(自己看,很好懂)
4、在MyEclipse中配置,找到服務器(如tomcat)的配置頁面,在tomcat的jdk配置頁面的Optional Java VM arguments輸入框中加如下參數:
-noverify -javaagent:D:\dev\JRebel\jrebel.jar -Drebel.dirs=D:\dev\apache-tomcat-6.0.20\webapps\nmr
第一個路徑是jar包的絕對路徑,第二個地址是說想讓哪個目錄下的類更改后不重啟服務。
如果Optional Java VM arguments輸入框中有其他參數,用空格隔開。
5、發布項目,就能在控制台看到效果。
類就可以改變之后不用重啟tomcat。
目前流行的服務器都支持。詳細看官方網站。
下載的壓縮包文件名為jrebel-setup.zip (7.8 MB)
可參考:http://japankn.javaeye.com/blog/577931