JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

編程語言 Tomcat Java Java虛擬機 用Java打醬油 用Java打醬油 2017-10-17

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

我們在開發javaweb工程時,經常在修改了java類時需要重新啟動Tomcat才能使java類生效,如果修改的很頻繁,則需要不停的重啟,很是影響工作效率,有沒有一種方法可以解決這個問題?

熟悉classload的小夥伴們都知道,只要在修改了java時可以熱加載就可以解決這個問題。

Tomcat對於熱部署有部分支持:僅僅修改方法體的內容可以不用重啟Tomcat,如果新增了類或方法時則必須重啟。需要修改server.xml的reloadable="fasle",reloadable的參數值默認為true。

但是新增類、方法,修改方法名稱在開發時不可避免,Tomcat的reloadable支持仍然十分有限,有沒有一款軟件可以完美解決這個問題?答案是有的。

JRebel是一款JAVA虛擬機插件,它使得JAVA程序員能在不進行重部署的情況下,即時看到代碼的改變對一個應用程序帶來的影響。就是我們常說的熱部署

JRebel有兩種使用場景:

  • 開發時

  • 運行時

開發時,Eclipse使用JRebel熱部署

1.安裝JRebel插件,在Eclipse Marketplace中搜索JRebel並安裝

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

安裝JRebel插件

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

安裝JRebel插件

2.添加license

JRebel是一款收費軟件,需要到官方上申請license(如果需要免費版的,私信我“JRebel免費版”),網址:https://zeroturnaround.com/software/jrebel/download/

打開Help->JRebel->Configuration,如下界面:

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

添加license

複製license

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

複製license

3.配置你的項目使用JRebel,如下測試用的項目是testweb

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

配置jrebel

至此已經配置完成,在testweb工程中添加、修改任意的java類,都可以被熱部署,再也不用頻繁的重啟了。

運行時,Tomcat集成JRebel

開發時通過eclipse的JRebel插件來實現工程的熱部署,如果在測試環境,甚至是生產環境如需使用JRebel來實現熱部署,也很簡單。

1.複製javarebel.jar、jrebel.jar、JavaRebel.log到任意目錄

2.配置catalina.bat或catalina.sh

set JAVA_OPTS=-noverify -javaagent:javarebel.jar的路徑

# 示例

set JAVA_OPTS=-noverify -javaagent:C:\WorkSpace\apache-tomcat-7.0.81\javarebel.jar

啟動Tomcat時看到如下界面說明配置成功

JavaWeb開發時頻繁的重啟Tomcat?一款熱部署插件徹底解決困擾

jrebel啟動

現在官網上只能下載到eclipse插件版的免費試用,如果需要可以直接對tomcat支持的jrebel,請私信我“JRebel免費版”。

相關推薦

推薦中...