Jrebel热部署配置完整教程(IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat)
标签:IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat
1.安装插件并激活
插件安装参考:
http://blog.csdn.net/u012283609/article/details/70212318
插件激活参考:
http://m.blog.csdn.net/u012283609/article/details/70213307
ChromeFQ插件安装参考:
http://chromecj.com/utilities/2014-09/181.html
Tunnello免费的浏览器FQ插件下载地址参考:
https://www.iteblog.com/archives/1715.html/comment-page-4#download
2.File—>other settings—>default settings—>Build,Execution,Deployment—>compiler
勾选Build project automatically
注意,目前我使用的IDEA是Mac intelliJ IDEA 2017.2.6版本
所以在Build project automatically后会标注有only works while not running / debugging,其他版本未尝试,
这句话说明在项目运行的过程中,项目仍然不会自动编译,所以需要第三步
3.点击idea窗口栏上(注意是点在idea的窗口栏上,不是窗口里面的文件上,就是有关闭,最小化按钮的那个栏框上),按下Ctrl+shift+alt+/(Mac下为:command+shift+alt+/),会弹出一个小窗口,上下选中registry,enter进入,找到compiler.automake.allow.when.app.running,在该项后边勾选上,点close。
4.点击idea窗口左下角JRebel打开JRrebel panel,将需要Jrebel热部署的项目勾选上,这时候会在对应项目中自动添加一个rebel.xml的文件,
<classpath>
<dir name=“/…/…/…/…”></dir>
</classpath>
其中的dir就是JRebel监听改动的目录,当这个目录中的class文件(包括但不限于class文件)发生变动时,JRebel就会重新加载变动的class文件。
如果发现dir name指定的文件夹不是自己项目的class文件的输出目录,可以手动设置,指向正确的目录。(本人未亲自尝试)
5.启动项目,run with JRebel ……,启动开始时如果出现:
2017-12-05 13:41:47 JRebel: Directory ‘/…/…/…/…' will be monitored for changes.
表示jrebel已经可以监听class文件的变动了,JRebel插件已经可以正常运行了。
good luck,successful!
总结:Jrebel所做的主要事情就是,监听项目文件编译输出目录(classes,resources等文件编译后的输出目录),当发现其中的文件发生变化时,就重新加载变化的文件。
当然,这个是大致的原理,其内部的具体实现,肯定是相当复杂了,这里就不深究了。
Jrebel热部署配置完整教程(IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat)的更多相关文章
- 【IntelliJ IDEA】spring boot项目在idea实现自动部署
转载参考自:https://www.cnblogs.com/winner-0715/p/6666579.html spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能 ...
- Tomcat7 + JRebel6.3.0 + IntelliJ idea 热部署配置过程+错误分析
以前使用Tomcat的时候直接就可以热部署,现在换了一个使用Spring框架的项目突然就不能热部署了. 网上说在tomcat里conf/context.xml中加入 <Context antiJ ...
- Eclipse中安装JRebel热部署教程
Eclipse中安装JRebel热部署教程 前言 Eclipse安装JRebel插件可快速实现热部署,节省了大量重启时间,提高开发效率. 本文只介绍Eclipse安装JRebel插件版本 ...
- 热部署只知道devtools吗?JRebel不香吗?
持续原创输出,点击上方蓝字关注我 目录 前言 JRebel收费怎么破? 什么是本地热部署? 什么是远程热部署? JRebel和devtools的区别 如何安装JRebel? 如何本地热部署? 如何远程 ...
- 【阿里云产品公测】阿里云ACE部署通用完整教程及评测
[阿里云产品公测]阿里云ACE部署通用完整教程及评测 作者:阿里云用户bailimei ACE应该是目前在公测的服务中应用最广泛的一项服务.在公测云引擎ACE前曾使用过新浪SAE,而ACE给我的最初印 ...
- Eclipse - 安装 run-jetty-run 插件及使用 jrebel 热部署
安装 run-jetty-run 插件 1. 下载 run-jetty-run 2. 解压至 Eclipse/MyEclipse 安装目录下的 plugin 3. 右键 web 项工程,选择 Run ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- 程序配置的原则和实践以及 Spring Boot 支持方式
原则 软件需要在不同的环境中部署,代码是保持不变的,但是不同的运行环境存在差异,所以需要使用配置适应不同的环境.比如: 数据库,Redis,以及其他 后端服务 的配置: 第三方服务的证书,如 oAut ...
随机推荐
- 【ASP.NET MVC 学习笔记】- 09 Area的使用
本文参考:http://www.cnblogs.com/willick/p/3331519.html 1.ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,这对于大的工程非常有用, ...
- Kotlin——最详细的接口使用、介绍
在Kotlin中,接口(Interface)的使用和Java中的使用方式是有很大的区别.不管是接口中的属性定义,方法等.但是定义方式还是相同的. 目录 一.接口的声明 1.接口的声明 关键字:inte ...
- System.getProperty参数大全
System.getProperty()参数大全 #java.version Java Runtime Environment v ...
- java项目log4j日志打印配置
#定义输出级别和输出平台 添加DEBUG表示打印sql 语句 log4j.rootLogger=DEBUG,INFO,ERROR,stdout,R log4j.category.org.spring ...
- Host文件简介
摘抄自:http://www.cnblogs.com/zgx/archive/2009/03/10/1408017.html.百度百科:hosts文件 很奇怪有很多人不知道Hosts是什么东西.在网络 ...
- HDU 6047 Maximum Sequence
Maximum Sequence Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Visual formatting model 可视化格式模型
在可视化格式模型里,每个元素都是由一个或者多个盒子组成,这些盒子的布局由下面规则控制: box dimensions and type.(块元素和行内元素) positioning scheme (n ...
- Netty——简单创建服务器、客户端通讯
Netty 是一个基于NIO的客户.服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用.Netty相当简化和流线化了网络应用的编程开发过程 ...
- 虚拟软件vmware安装
什么是虚拟软件: 虚拟原件是一个可以使你在一台机器上同时运行二个或更多Windows.LINUX等系统.它可以模拟一个标准PC环境.这个环境和真实的计算机一样,都有芯片组.CPU.内存.显卡.声卡.网 ...
- CSS系列------选择器和选择器的优先级
1.1.基本选择器 通配符选择器(*) 通配符选择器的使用方法如下 *{margin:0px; padding:0px;} //*代表所有的 ID选择器(#) ID选择器的使用方式如下: * ...