- 定義及分類
1.1 定義
在web開發環境下,所謂熱部署,即在不重新部署webapp的情況下,實時將工程代碼改動更新到web容器中(例如tomcat)。其原理可以類比ajax的作用,即局部刷新工程資源文件。從而節省web項目開發工程中,項目編譯與重新部署的時間。
1.2 分類
按配置復雜程度一般分為 前台頁面相關資源文件(包括js/Html頁面/圖片等)的熱部署配置與后台邏輯資源文件(class文件等)的熱部署。 -
熱部署細節
2.1 前台頁面的熱部署
進入運行環境配置頁面 Run->Edit Configurations,進入tomcat的運行配置
主要在於 On frame deactivation選項配置選擇為 Update classes and resourses(當且僅當在Deployment配置頁,對應的目的war形式配置為exploded,即開發模式,才會出現該選項),該項配置意思即,在每次頁面切換時,自動更新相關classes以及資源文件。
到這一步,已經可以實現前台頁面資源文件的熱部署,即每次修改完js或H頁面等,只需刷新瀏覽器即可看到修改后的效果。
2.2 后台熱部署
這里需要借助JRebel插件。
2.2.1 安裝JRebel插件
進入插件安裝頁面,File->setting->Plugins,選擇在線安裝會比較方便,點擊Browse Repositories,在搜索框里輸入Jrebel,選擇IDEA對應插件,點擊Install安裝。
2.2.2 Jrebel插件破解
可以去這里下載破解資源文件http://www.cr173.com/soft/191113.html,分別覆蓋掉C:\Users\Administrator.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel和C:\Users\Administrator.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel6下的jrebel.jar文件,並將C:\Users\Administrator.jrebel下的全部文件刪除,添加破解文件jrebel.lic.到此破解完成。
2.2.3 JRebel運行環境配置
進入File->setting->JRebel->Advanced,在JRebel agent to use 選項下,選擇use jrebel.jar from the path specified
3 運行
在tomcat deploy配置選項下,選擇exploded包(而不是war包)進行測試部署。Run/Debug選擇右上角 run/debug with JRebel圖標,運行或調試server.
至此,啟動tomcat之后,無論修改任何文件,都無需額外操作,直接刷新瀏覽器頁面即可看到更新后的操作。
