IDEA下安装/配置Jrebel6.X

1. 为什么要使用Jrebel

在日常开发过程中, 一旦修改配置/在类中增加静态变量/增加方法/修改方法名等情况, tomcat不会自动加载, 需要重启tomcat才能使修改后的代码或配置生效.

对于比较大的项目, 每次启动需要5min+时, 就比较浪费时间了.

Jrebel插件可以让我们修改任何代码均不用重启, 可以大大减少重启项目所浪费的时间.

Jrebel官网: http://manuals.zeroturnaround.com/

2. 安装Jrebel插件
  • 打开 ** File > Settings > Plugins**. 点击"Browse repositories".

  • 搜索 Jrebel, 点击 Install.

  • 坐等安装完成, 并重启IDEA, 重启后能看到Jrebel插件则表示已经安装完成. 如下面所示:

  • 若自动安装不行, 可通过手工安装的方式.

    Jrebel下载地址: http://download.csdn.net/detail/leo_li_3046/9537582

    下载解压后, 放到用户目录/.IntelliJIdea15/config/plugins下

    该版本已激活. 可直接使用.

3. 激活Jrebel

因为Jrebel是收费的, 所以安装好Jrebel后, 需要激活才能使用. 默认会有14天的试用期.

建议在官网中进行激活 http://zeroturnaround.com/

以下简单介绍下如何破解Jrebel.

破解包下载地址: http://download.csdn.net/detail/leo_li_3046/9536324

  • 解压jrebel6.4.3-cracked.zip, 目录结构如下:

  • 替换jrebel下的jar

    windows下的路径为: C:/Users/Leo/.IntelliJIdea15/config/plugins/jr-ide-idea

    linux下的路径为:~/.IntelliJIdea15/config/plugins/jr-ide-idea

    用jrebel6.4.3-cracked/jrebel/jrebel.jar进行替换

  • 替换jrbel6/jrebel下的jar

    用jrebel6.4.3-cracked/jrebel6/jrebel.jar替换jrbel6/jrebel下的jar

  • 重启IDEA, 通过"File > Settings > Jrebel"查看是否已激活, 若显示如下图, 则表明已经激活

4. 配置Jrebel

安装激活后, 需要进行一些简单的配置, 如配置自动加载的时间/启动方式/jrebel agent等, 一般我们采用默认配置即可.

通过"WFile > Settings > Jrebel"进入Jrebel的配置页.

  • 自动加载时间设置, 一般设置10s左右, 根据你个人机器配置决定

  • 启动方式设置, 一般选择本地环境

  • jrebel agent配置

    有时根据环境影响, 直接选择Legacy Agent不能生效, 这时需要选择Jrebel 6 Agent 6.4.3版本

5. 启动tomcat验证配置是否生效

通过Jrebel插件, 启动tomcat, 当显示下图结果时, 说明Jrebel已经配置成功, 这时你修改一个类或资源文件, 均会自动加载.

[2016-06-01 12:23:21,536] Artifact jrebel-webapp:war exploded: Artifact is being deployed, please wait...

#监听Class
2016-06-01 12:23:22 JRebel: Directory '/home/leo/Pro/jrebel-server/jrebel-webapp/target/classes' will be monitored for changes. #监听xml配置文件
2016-06-01 12:23:31 JRebel: Monitoring Spring bean definitions in '/home/leo/Pro/jrebel-server/jrebel-webapp/target/classes/spring/spring-context.xml'. #监听properties
2016-06-01 12:23:35 JRebel: Monitoring properties in '/home/leo/Pro/jrebel-server/jrebel-webapp/target/classes/config.properties'.

当一个项目使用maven多模块开发时通过上面的配置, 只能自动加载webapp所在的模块, 若想改动其他模块的代码也要自动加载, 需在项目的跟pom中加入下面的配置:

<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>1.1.5</version>
<configuration>
<addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
<alwaysGenerate>true</alwaysGenerate>
<showGenerated>true</showGenerated>
</configuration>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>

配置好后, 你每次改动资源文件/JAVA文件均会自动加载. 如下图所示:

若你的项目采用的是gradle, 可参照官网进行配置:

http://manuals.zeroturnaround.com/jrebel/standalone/gradle.html

IDEA下安装/配置Jrebel的更多相关文章

  1. Eclipse下安装/配置Jrebel6.X

    Eclipse3.6+下安装/配置Jrebel6.X 1. 为什么要使用Jrebel 在日常开发过程中, 一旦修改配置/在类中增加静态变量/增加方法/修改方法名等情况, tomcat不会自动加载, 需 ...

  2. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

  3. 在windows下安装配置Ulipad

    在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便. Ulipad下载地址: https://github.com/limodou ...

  4. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

  5. Linux 下安装配置 JDK7

    Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...

  6. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  7. (原创)Windows8下安装配置WAMP

    Windows8下安装配置WAMP        2013/12/28 最近这段时间一直在研究linuxshell编程,虽然还是初级水平,但比之前有了不小的进度,但是shell的命令很多,很难在短时间 ...

  8. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

  9. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

随机推荐

  1. PHP 判断从表单提交的值是否为空

    @$time = $_GET['time'];if(empty($time)) { echo "empty";} else { echo "not empty" ...

  2. Linq 筛选出一条数据

    InBoxInfo boxInfo = boxList.Find(p => p.GoodsID == goods.GoodsID.ToString().Trim() && p.S ...

  3. ScrollView中嵌套两个ListView

    做的项目中要使用两个ListView在同一个页面上下显示,因为数据源不同,不能通过在Adapter中设置标志位去区分显示,最后只能硬着头皮做一个ScrollView嵌套两个ListView,但按正常情 ...

  4. When to use DataContract and DataMember attributes?

    When to use DataContract and DataMember attributes? I  am very confused about the DataContract attri ...

  5. bzoj2434

    利用了bzoj3172提到的性质,x串在y串中的出现的次数即为在fail树上以x结尾节点为根的子树中有多少个节点在y串上所以很明显我们要离线解决,我们先把询问按y分类存起来然后我们顺着操作顺序来,出现 ...

  6. BZOJ_3670_[NOI2014]_动物园_(kmp)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=3670 对于一个字符串,求出num数组,其中num[i]表示前i个字符构成的字串中不相重合的相同 ...

  7. EntityFramework在不同数据库下的配置

    1.SQLServer: <connectionStrings> <add name="EntityDesignEntities" connectionStrin ...

  8. JavaScript高级程序设计48.pdf

    设备中的键盘事件 任天堂Wii等设备可以通过键码知道用户按下了哪个键 复合事件 复合事件是DOM3级事件新添加的一类事件,用于处理IME的输入序列.IME(Input Method Editor,输入 ...

  9. Hdu 5213-Lucky 莫队,容斥原理,分块

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5213 Lucky Time Limit: 6000/3000 MS (Java/Others)    Me ...

  10. Educational Codeforces Round 3

    A. USB Flash Drives 水题,排序即可 ]; int main() { int n,m; scanf("%d%d",&n,&m); ;i<n; ...