一、安裝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目錄下即可