现在的位置: 首页 > 综合 > 正文

Maven jrebel实现jetty的class暖加载

2018年12月15日 ⁄ 综合 ⁄ 共 955字 ⁄ 字号 评论关闭

Maven jrebel实现jetty的class暖加载

Maven jrebel实现jetty的class热加载
jetty自带的reload方案每次修改class,都会重启spring application,速度极慢。
JRebel (javarebel)热部署方案,目前支持大部分主流的 Java 容器,配置也相当简单,以下是与 maven + jetty 环境整合的步骤与要点:
1.下载 JRebel 包(破解版)地址
http://download.csdn.net/detail/thly1234/6840501

2.拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行 java -jar %REBEL_HOME%\jrebel5.0.0.jar 生成根据本机 JVM 环境生成的 jrebel-bootstrap.jar 运行文件。

3.然后添加 MAVEN 运行环境变量:MAVEN_OPTS 值为 -noverify -Xbootclasspath/p:%REBEL_HOME%\jrebel-bootstrap.jar;%REBEL_HOME%\jrebel.jar 然后再配置目标项目的 pom.xml,关闭 maven 的 jetty 插件本身的 reload 配置:

<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>

4.在jetty的jre运行环境增加如下参数:

-Drebel.aspectj_plugin=true
-Drebel.spring_plugin=true
-javaagent:"C:\Program Files\jrebel\jrebel.jar"
-noverify
-XX:PermSize=64M -XX:MaxNewSize=128m -XX:MaxPermSize=128m
-Xms512m -Xmx768m


最后启动 mvn jetty:run 发现现在不需要 reload 服务器就可以加载实时修改过的 class 文件了。

经过我的测试,以上方法是OK的

抱歉!评论已关闭.