发现一个问题:如果安装了jRebel,但是并未对项目添加jRebel监听时,如果重写jar包中的类,
虽然重写后的类会得到编译(classes中的class已经是修改后的class),但是并不会调用重写后的class而是仍然调用的jar包中的class,
除非将项目添加到jRebel监听中,重新才会起作用。
你是否还在天天为写了几行代码又重启一次服务器而烦扰,如果是的话你有幸遇上了我,并看了这篇博客,有了这篇博客你将在世上多活X时间。
此文实现改写java不重启的方式是Eclipse下安装JRebel6.5.0热部署插件。
以下简单介绍下该插件的安装方法和破解方法,如果对你有用的话,请感激下我吧!
步骤一、下载,如下图所示
步骤二、破解:
下载破解文件到本地
把压缩包里的:jrebel.jar和jreble.lic两个文件,覆盖到
eclipsepluginsorg.zeroturnaround.eclipse.embedder_6.5.0.RELEASE
文件夹下所有包含jrebel.jar的子文件夹中。然后重启Eclipse。
下载地址:
http://pan.baidu.com/s/1jIHd79c
重启后,查看Eclipse>Window>Preferences会发现,多了一个JRebel的目录,
重启之后其实一般会进入到首页,上面就可以看到jrebel了
步奏三、配置:
打开Server面板,双击Tomcat,来到Tomcat的Overview配置面板,确认如下图选中后点击Open Launch Configuration
切换到Arguments标签,在VM Arguments框里,在原有配置后面加上:标红的地方请根据自己的项目情况改写
-noverify -javaagent:E:eclipsepluginsorg.zeroturnaround.eclipse.embedder_6.2.2.RELEASE-201507291337jr6jrebeljrebel.jar
-Drebel.dirs=${project_loc}WEB-INFclasses
-Drebel.spring_plugin=true
-Drebel.struts2-plugin=true
-Xms256M -Xmx512M -XX:MaxPermSize=128m
上述参数的相关说明:
-agentpath: 这个是你使用的JRebel Agent版本的lib包的路径(路径后缀不要写成jrebel.jar),注意其中的斜线方向。
-Drebel.dirs :这个是你要监控的项目的 class 文件路径
-Drebel.disable_update: 设为true,就不会联网检查更新
-DJAVA_OPTS: 这个选项不是必须,当内存溢出的时候或其它特殊情况下才需要设置它的参数大小。
然后点击OK保存。
最后,切换到Tomcat的Module面板:
选中要用JRebel的项目,点击Edit
然后把Auto reloading enabled多选框取消选中,然后点击OK
接下来让程序跑起来,如果console中出现类似下图提示,则大功告成!!接下来试一下修改java代码,jrebel都会自动重新部署了!
不知道你能不能成功配置好哦,反正我是一次性配置好了,接下来尽情的玩耍吧!!!