[Java] JRebel + Maven + Jetty 热部署
早就厌烦了 Java 开发不断的容器自动重新加载漫长的过程,研究 maven + jetty 热部署方案的过程中偶然发现一样不错的东东,试用了一下果然很爽,发上来给大家共享,此物名为 JRebel (javarebel),目前支持大部分主流的 Java 容器,配置也相当简单,以下是与 maven + jetty 环境整合的步骤与要点:
首先,下载 JRebel 包,目前网上有两个破解版本分别是 JRebel2.1a 以及 JRebel3.0-M1,我使用的是前者,下面是下载地址:http://d.namipan.com/d/842d40cc1ed226fc69e04892cdaeaec85cf85be105f41400 (需要的请尽快下载,以免链接失效)。
然后拷贝到 %REBEL_HOME% 目录并添加该环境变量,进入目录运行
java -jar %REBEL_HOME%\jrebel.jar 生成根据本机 JVM 环境生成的
jrebel-bootstrap.jar 运行文件。
然后添加 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>
最后启动 mvn jetty:run 你会发现现在不需要 reload 服务器就可以加载实时修改过的 class 文件了,很不错吧。其实我个人更推荐不要设置 MAVEN_OPTS 环境变量,新建一个比如名为 mvnrebel.bat 的文件,改写一下 mvn.bat 文件,把以上的运行命令加进去,这样还保留了原本的 mvn 执行文件,同时也可以根据需要启动带热部署的方案。
JRefer 工具还提供其他各种主流环境的整合方案,包括 JBoss,Glassfish,Tomcat,SpringSource,Weblogic,SAP 等,详细内容请参考:http://www.zeroturnaround.com/reference-manual/server.html 对于开发人员来说,这无疑会大大减轻开发重新加载的问题,据调查平均可以提高 20% 的开发效率,效果相当的可观哦,有兴趣的朋友值得一试~
相关文档:
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、Open ......
时间过的真快,不知不觉来到传智播客已经一个多月了,这一个月主要学习了Java基础部分,虽然每天都是敲代码到晚上1、2点才睡觉,但是还是感觉时间不够用,因为需要学习巩固的东西太多太多了,总感觉掌握的不够好,这一个月过的很累但也很充实。
这几天开始 ......
java工作者社区主办
1. 【复选】收入有涨,有干头
22.22%
2. 【复选】收入不乐观,没干头
8.89%
3. 【单选】年收入50万以上
2.22%
4. 【单选】年收入20万~50万
4.44%
5. 【单选】年收入10万~20万 ......
1.java类库自带的方法:
1、public boolean isNumber(String str)
{
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;
}
return false;
}
}
2.更新:用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
这两个包,或者不导 ......