jetty自带的reload方案每次修改class,都会重启spring application,速度极慢。
JRebel (javarebel)热部署方案,目前支持大部分主流的 Java 容器,配置也相当简单,以下是与 maven + jetty 环境整合的步骤与要点:
[size=medium][color=blue]1.下载 JRebel 包(破解版)地址[/color][/size]
[url]http://download.csdn.net/detail/thly1234/6840501[/url]
[size=medium]2.拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行 java -jar %REBEL_HOME%\jrebel5.0.0.jar 生成根据本机 JVM 环境生成的 jrebel-bootstrap.jar 运行文件。[/size]
[size=medium]3.然后添加 MAVEN 运行环境变量:MAVEN_OPTS 值为 -noverify -Xbootclasspath/p:%REBEL_HOME%\jrebel-bootstrap.jar;%REBEL_HOME%\jrebel.jar 然后再配置目标项目的 pom.xml,关闭 maven 的 jetty 插件本身的 reload 配置:[/size]
[size=medium][color=blue]4.在jetty的jre运行环境增加如下参数:[/color][/size]
[img]http://dl2.iteye.com/upload/attachment/0093/0759/7a92e027-6e69-3fd5-8299-0977a335e6e8.jpg[/img]
最后启动 mvn jetty:run 发现现在不需要 reload 服务器就可以加载实时修改过的 class 文件了。
JRebel (javarebel)热部署方案,目前支持大部分主流的 Java 容器,配置也相当简单,以下是与 maven + jetty 环境整合的步骤与要点:
[size=medium][color=blue]1.下载 JRebel 包(破解版)地址[/color][/size]
[url]http://download.csdn.net/detail/thly1234/6840501[/url]
[size=medium]2.拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行 java -jar %REBEL_HOME%\jrebel5.0.0.jar 生成根据本机 JVM 环境生成的 jrebel-bootstrap.jar 运行文件。[/size]
[size=medium]3.然后添加 MAVEN 运行环境变量:MAVEN_OPTS 值为 -noverify -Xbootclasspath/p:%REBEL_HOME%\jrebel-bootstrap.jar;%REBEL_HOME%\jrebel.jar 然后再配置目标项目的 pom.xml,关闭 maven 的 jetty 插件本身的 reload 配置:[/size]
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>
[size=medium][color=blue]4.在jetty的jre运行环境增加如下参数:[/color][/size]
-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
[img]http://dl2.iteye.com/upload/attachment/0093/0759/7a92e027-6e69-3fd5-8299-0977a335e6e8.jpg[/img]
最后启动 mvn jetty:run 发现现在不需要 reload 服务器就可以加载实时修改过的 class 文件了。