16boke - 一路博客

jrebel的安装及激活方法

一、介绍
在日常的Java开发中,如果我们需要调试一个Java Web项目,就需要先将项目编译之后,打包并放入Web容器中运行。如果对Java代码进行了修改,那么必须重新编译并重启Web容器。在改动频繁、或者需要反复调试的项目中,重新编译和重启的过程就显得特别麻烦。那么Java是否能够像动态语言一样,修改即生效呢?JRebel(http://zeroturnaround.com/software/jrebel/)就是这样的一个解决方案。JRebel是一个收费软件,可以申请14天的试用版。也有个免费的版本myRebel地址是:https://my.jrebel.com/plans但是需要绑定facebook或者twitter账号。
二、原理
JRebel会监控IDE里项目的目标编译目录和源码目录(这个需要在rebel.xml里配置,以下会讲到),一旦发生改变,就重新装载类并替换。这就达到了动态生效的效果。与动态语言不同的是,它依然是先需要进行编译的,所以如果修改后编译不通过,那么也无法进行替换。
三、安装
下面以eclipse为例来介绍,在线安装的方法,关于离线安装请参考网上其他内容。
选择Help -- Eclipse Marketplan,打开后搜索jrebel,直接install,等待安装成功。
四、注册
可以进入jrebel的官网来注册jrebel,由于jrebel是在国外,打开网页会很慢, 关于在线注册直接参考官网注册流程,下面介绍自己搭建一个激活服务器来激活。
五、手动搭建激活服务器
下载软件:https://github.com/ilanyu/ReverseProxy/releases/latest
1、windows版本
可以根据需要选择相应的版本,如果想在windows平台上运行代理软件,直接下载后运行即可。会自动生成一个8888的端口服务。
打开已经安装好jrebel的eclipse,选择help -- jrebel -- change license,选择"Connect to License Server",
输入url地址和邮箱,注意url后面需要有用户名,可以随便写,邮箱也随便写。如图:

clipboard.png

输入完成后点击change license即可完成。
但是需要注意的是如果需要jrebel来热加载修改的内容,需要一直打开着激活服务器,否则不会加载。
2、docker部署
服务器也可以在docker中部署,首先需要安装docker,关于docker的使用参考其它内容,这里只介绍怎么安装镜像和使用。
安装镜像:docker pull ilanyu/golang-reverseproxy
运行:docker run -d -p 8888:8888 ilanyu/golang-reverseproxy
激活方法同上面一样。
六、使用
在项目右键“JRebel -- Add JRebel Nature”,如果是在tomcat中运行,双击tomcat,打开配置界面,选中“Enable JRebel agent”

clipboard.png

七、启动tomcat
启动tomcat之后在控制台会先输出如下内容:

clipboard.png表明jerbel正常启动,修改一个Java类之后控制台会自动打印出这个类被加载了,至此可以happy的编程了...
八、建议
由于搭建自己的激活服务器,也可以说是反向代理服务器,在开发过程中需要一直运行着,有两种方式可以解决:
1、在阿里云或其他公司服务器上运行一个docker环境,在阿里云上运行可以方便在任何场合来使用jrebel。
2、在本机建一个启动项,启动的时候自动在后台运行

 

jrebel