一直在用 jrebel 感覺熱部署的 功能,修改xml配置文件等,省去了很多的重新啟動的時間。
由於偶然間發現 jrebel 還有remote 路由功能。這樣,在服務器端用jrebel部署的項目和本地項目就可以遠程同步了。
修改class 和xml 等 都可以遠程熱部署,省去了打包重新上傳的時間。
記錄一下 今天幾個小時的心酸路程。
由於網上很少這方面的教程,很多網友可能也用不到這個功能,所以 把我的配置文件和修改記錄展示出來,方便后人。
首先,要下載jrebel ,注冊等就不用多說。然后在服務器端開啟路由功能;
運行cmd命令: java -jar jrebel.jar -set-remote-password (你的密碼)
然后修改tomcat的catalina.bat配置文件:
下面:<"D:\DEMO>是我放置jrebel.jar 的根目錄,請各自對應修改。
set Jrebel=-noverify -javaagent:"D:\DEMO\jrebel.jar" //讀取jrebel
-Drebel.dirs="D:\apache-tomcat-8.0.43\webapps\ROOT\WEB-INF\classes" //加載你的classes
-Drebel.remoting_plugin=true //開啟遠程路由
-Drebel.remoting_port=8888 //設置端口
if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
set LOGGING_CONFIG=-Dnop
if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
:noJuliConfig
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% %Jrebel%
if not "%LOGGING_MANAGER%" == "" goto noJuliManager
set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% %Jrebel%
此時可以連接遠程服務器了,但是還是不能同步成功,原來需要把本地生成的兩個文件(rebel.xml 和 rebel-remote.xml)對應放到服務器的classes 文件目錄下面,並且修改對應的同步classes和同步web。