*JRebel 热部署
Jrebel是一套商业Java开发软件,可快速实现热部署,节省大量重启时间,提高开发效率。
去IDEA的插件官网下载插件:http://plugins.jetbrains.com/plugin/4441?pr=idea,
在搜索框里面搜索Jrebel,有如下结果
下载6.4.0版本,下载以后在IDEA上面安装插件。
1.安装JRebel插件,打开File->Settings->Plugins,点击"Install plugin from disk",找到刚才下载下来的zip包(不需要解压),直接选中安装即可。
2.选择JRebel插件。
3.安装完,重启IDEA。发现Settings下多了个JRebel选项,同时服务器管理面板多了"Run with JRebel 'Tomcat 8.0.32'"以及"Debug with JRebel 'Tomcat 8.0.32'"。
激活:
找到jrebel6.4.0-cracked目录(云盘里有)下的jrebel.jar和jrebel.lic.
把jrebel.jar复制到C:\Users\winner_0715\.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel和C:\Users\winner_0715\.IntelliJIdea15\config\plugins\jr-ide-idea\lib\jrebel6目录下覆盖掉原来的jrebel.jar。
删除C:\Users\winner_0715\.jrebel所有的内容.
把jrebel.lic放在C:\Users\winner_0715\.jrebel目录下。
打开File->Settings->JRebel->Offine Mode ->点击Configure->选择"License file from the hard drive(jrebel.lic)"->点击Browse按钮,选择 C:\Users\winner_0715\.jrebel\jrebel.lic
重启Intellij IDEA后,在Jrebel中可以看到,Jrebel已经被激活了。
二、部署项目工程的两种方式
方式一、结合Artifacts部署项目
1. 打开项目配置Project Structure。
根据项目Modules配置Artificials。
2.Tomcat加载项目。
然后填写应用上下文的名称,转到Server页签进行配置。
两个地方都修改成Update classes and resource。
3. 修改Jrebel参数
设置redeploy时间,这样修改java文件后,jrebel会自动监测到。
经过这三步设置,一般就可以了。这样貌似连rebel.xml都不用生成,就可以实现热部署了。
记得以JR方式启动tomcat(就是点那个JR图标了),而不是直接启动Tomcat。
方式二、External Source加载项目工程
1. 修改class输出目录,因为JRebel需要检测classes文件夹,而部署的时候使用的是WebRoot文件夹,字节码应生成在WebRoot/WEB-INF/classes中。
class文件输出到工程本身的WEB-INF目录下。
2.Tomcat加载项目。
选择到web工程的根目录即WebRoot,这个目录直接包含工程本身的jsp、html等文件还有我们配置的class输出内容。这样jsp有修改就可以直接显示,而class就由jrebel监测。
注:用这种方式加载项目的,在server里面就没有Update classes and resource了
3.生产rebel.xml
右键项目,可以看到Jrebel选项,选择rebel.xml即可自动生成,xml主要内容是监测class目录和web工程目录。
4.设置IDEA自动编译。
这4个步骤设置好,用JR启动Tomcat就可以了。
然后你会发现你对任何文件作的改动都会即时地体现出来。
同时控制台会得到一个输出。
*JRebel 热部署的更多相关文章
- Eclipse - 安装 run-jetty-run 插件及使用 jrebel 热部署
安装 run-jetty-run 插件 1. 下载 run-jetty-run 2. 解压至 Eclipse/MyEclipse 安装目录下的 plugin 3. 右键 web 项工程,选择 Run ...
- Jrebel热部署配置完整教程(IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat)
标签:IntelliJ IDEA.Jrebel.spring boot.springboot.eclipse.Tomcat1.安装插件并激活插件安装参考:http://blog.csdn.net/u0 ...
- Eclipse中安装JRebel热部署教程
Eclipse中安装JRebel热部署教程 前言 Eclipse安装JRebel插件可快速实现热部署,节省了大量重启时间,提高开发效率. 本文只介绍Eclipse安装JRebel插件版本 ...
- IDEA+Tomcat+JRebel热部署1
所需资源下载: jrebel_6.4.2a 概述 JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.之前只是听说过,一直没有实践,今天实际使用了一把 ...
- IDEA+Tomcat+JRebel热部署
在完成idea工程简单应用后,接下来实现热部署. 简单应用地址:http://wibiline.iteye.com/admin/blogs/2072454 一.安装JRebel插件 1. 在线安装 F ...
- Intellij-插件安装-JRebel热部署插件安装
环境介绍: Win7.JDK1.8.maven+jetty插件.SpringMVC.Intellij IDEA 2018.1.2 安装插件: 在线安装: Settings --> Plugins ...
- 利用 jrebel 热部署\远程调试\远程热部署 springboot项目 服务器上的代码
首先要在eclipse 中启用 启用以后在 resource 中生成了 rebel-remote.xml 然后build,把生成的jar包放到服务器上. 然后用下面的命令启动 java -agentp ...
- idea之jrebel热部署使用教程
JRebel是一个J2EE热部署的工具.使用它可以减少浪费8-18%的开发时间在项目的构建和部署上.虽然Java也提供了HotSpot的JVM,但是如果你修改的类中有方法名称变动的话,HotSpot就 ...
- Intellij IDEA 配置jrebel热部署
Jrebel 先介绍一下jrebel,jrebel是可以热部署项目的一个工具,更改代码自动部署并不需要重启项目(在spring中的controller中,增加.修改方法都是可以进行热部署而不需要重启的 ...
随机推荐
- TweenMax动画库学习(五)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
- Kubernetes Architecture
reference:https://www.symantec.com/connect/blogs/google-kubernetes-analytical-evaluation
- C#委托的异步调用1
本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: /*添加的命名空间 u ...
- 在Tomcat中部署Java Web应用程序
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服务器启动之前部 ...
- event事件:
onabort: 图像的加载被中断onblur: 元素失去焦点onchange: 域的内容被改变onclick: 当用户点击某个对象时调用的事件句柄ondblclick: 当用户双击某个对象时调用的事 ...
- Cassandra1.2文档学习(14)—— 事务和并发控制
参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...
- PHP网页的工作原理
网络基本概念 IP地址 唯一标识网络上的主机或设备. IP地址是由四段8位二进制构成,中间用小数点隔开.如:192.168.18.70 每一段取值0-255的十进制. 特殊的IP地址:127.0.0. ...
- C# 学习之旅(3) --- 会说话的简易计算器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- iOS 深复制&浅复制
1.无论是深复制还是浅复制,被复制的对象类型是不变的.此对象类型具有什么功能就具有什么功能,不会因为自行修改了返回对象的指针类型而改变. 比如: 这里的str和str1的值和指针地址完全一 ...
- 第一个js面向对象的小实验
$.extend({ cal: function (num1,num2,oper,aftercal) { this.n1 = num1; ...