Intellij IDEA+Tomcat+JRebel熱部署


一、安裝JRebel插件

1. 在線安裝

 打開設置 File ->setting或者直接點設置的圖標進入

在線下載並安裝

2. 破解插件

下載破解補丁具體要找到對應版本的,這邊用的是6.2的破解版本(但實際安裝的是6.2.2,照樣可以使用)將破解版里面的jrebel.lic拷貝到C:\當前用戶下\.jrebel 目錄下;jrebel.jar替換C:\當前用戶\.IntelliJIdea13\config\plugins\jr-ide-idea\lib目錄下的jrebel.jar文件

打開idea后,看到jr圖標就代表安裝插件成功,還有在設置里面會多出Jrebel,如下:

 License為valid就代表破解成功了。

二、部署項目工程的兩種方式

方式一、結合Artifacts部署項目

1. 打開項目配置File ->project structure

 根據項目Modules配置Artificials

2. 配置tomcat

3.設置Jrebel

設置redeploy時間,這樣修改java文件后,jre會自動監測到。(不過這樣設置是否會很占內存?)后台會有提示信息,如:2014-05-29 19:13:12 JRebel: Reloading class 'test'.

經過這三步設置,一般就可以了。這樣貌似連rebel.xml都不用生成,就可以實現熱部署了。記得以jr方式啟動tomcat(就是點那個jr圖標了),而不是直接啟動tomcat。

方式二、External Source加載項目工程

1. 修改class輸出目錄

 
class文件輸出到工程本身的WEB-INF目錄下

2. tomcat加載項目

 選擇到web工程的根目錄即WebRoot,這個目錄直接包含工程本身的jsp、html等文件還有我們配置的class輸出內容。這樣jsp有修改就可以直接顯示,而class就由jre監測。

注:用這種方式加載項目的,在server里面就沒有Update classes and resource了

3.生產rebel.xml

右鍵項目,可以看到Jrebel選項,選擇rebel.xml即可自動生成,xml主要內容是監測class目錄和web工程目錄

4. 設置idea自動編譯

 這4個步驟設置好,用jr啟動tomcat就可以了。

 

總結:兩種方式都是以tomcat目錄下localhost的配置文件進行加載項目,配置文件里指定加載的路徑。Artifacts方式的,class不僅要生成output,同時在Modules那邊也會指定class的生成目錄,感覺多生成了一份,沒什么必要,不知道這樣的好處在哪里,暫時不懂。而External Source加載項目工程的方式,直接在Modules指定class生成目錄到本工程下,而jsp本身就是工程下面的,所以在tomcat的配置文件那邊直接指定到工程目錄下即可。所以個人暫時采用方式二進行處理,用一段時間試試。

遇到的問題:采用方式二部署項目的時候,tomcat啟動,找不到工程的jar包,而工程明明有引入對應的jar包了。

問題原因:jar包目錄lib跟web根目錄同一級別,tomcat啟動的時候無法加載到這個lib。雖然項目編譯能通過,但發布的時候就會有問題。

問題解決:將lib目錄放於WEB-INF目錄下即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM