JRebel 7.1.5 插件下载 安装 ** 结合 IntelliJ IDEA ,处理 hot swap failed 的问题。是真的热部署
原文出处:https://blog.****.net/qq_27093465/article/details/79148498
一般在使用这个 IntelliJ IDEA 的时候,额,大多数都是搞 Java web 的吧。
那得配置tomcat吧,配置了tomcat之后,是不是很多时候,修改了些代码之后,
比如:
某个类新添了个,或者删除了个属性
添加或者修改了注解,包括注解的参数,比如 @RequestMapping 映射的URL的值
新增或者删除方法
。。。
这个时候,你从idea切换到浏览器之后,idea就会出现:hot swap failed。
如图:
即使在配置tomcat的时候,有记得如下的配置,还是会出现这个hot swap failed 的问题。
这么的配置,仅仅是支持部分的热部署,
比如,你在方法内部修改了些代码逻辑,修改了JavaScript,修改了jsp页面,等等一些简单的操作,他是支持热操作的,
但是,像文章开头的那些操作,他就会出现hot swap failed 的问题。
这个时候,就必须得重新启动一下本地的tomcat,
现在有了这个 JRebel ,之后,就是真正的热部署啦,不需要去重启tomcat啦。
但是,这个东西又是需要收费的,跟这个 idea 一样,需要**的。
不怕。
一个是我分享的某度云盘的,当时下载的7.1版本的idea的插件,需要的可以直接拿来用。
这个插件直接在idea里面下载的时候,好像报错,不知道你们是不是。
链接:https://pan.baidu.com/s/1eT418Ls 密码:2q1w
点这个链接,你也可以自己去idea的插件仓库去搜索JRebel下载这个插件
下面这个链接是,在**这个JRebel的时候,需要的插件,这个是别个大神提供的,我就下载了个windows系统的。不知道各位观众是什么系统的,就给你们看看吧。
https://github.com/ilanyu/ReverseProxy/releases/tag/v1.0
离线安装这个JRebel插件到idea
我是把这个压缩包放在桌面上的,你自己找到对应位置,安装完之后,重启一下idea就OK啦,就会看到下图。
注意,现在多了2个图标,我这忘记打标记啦,应该看得到吧。
我这个图,是我**过的。
这个是你安装完毕之后,在idea里面去**的,**的弹窗和idea的**弹窗差不多。
具体**步骤:
1,先是,直接双击咱下载的那个exe文件,mac的不知道下载哪个,看评论说下载那个 ReverseProxy_darwin_amd64 这个,
但是,没有后缀名啊。我的不是mac,不知道怎么使用这个东西,所以,mac上的**,我就没测试啦,注意,这个有个防火墙的问题,注意放行哟。
有如下图:
2,一般都会出现下面这个**窗口。
http://127.0.0.1:8888/tom
关于输入的这个URL地址,最后面的那个tom,随意,想是啥就是啥。随便填写,
下面的邮箱也是,起码格式OK吧,也是随便写。
还记得最下面那个打勾,嗯,同意一下他的协议,虽然不知都什么协议。
这个时候,估计就可以啦。
然后就是解释下我的这个图,
注意个地方,
刚刚**之后是如下的图,
这个时候,你的那个exe运行的那个先别关呢,你可以看到,那个运行的exe的命令行上是有东西显示的。
说道原理,我也不懂,大概就是现在这个发送的认证**的请求,经过 反向代理 就给他发到其他地方去啦。然后,他实际的服务器就收不到信号啦,所以就OK啦。
这个时候,可以实验一下那个 work offline。
这个时候,就是offline啦,不需要联网啦。
这个时候,那个exe的运行框就可以关掉啦。
我当前时间
上面的到期时间是july 23,直接 offline了半年吧。
以后debug启动服务器的时候,就可以使用后面的那个按钮啦
下面是我在启动,自己配置的tomcat的时候,这个JRebel打的 日志如下
-
Using CATALINA_BASE: "D:\Program Files (x86)\JetBrains\cmshome\system\tomcat\Unnamed_web"
-
Using CATALINA_HOME: "E:\fusion\apache-tomcat-7.0.64"
-
Using CATALINA_TMPDIR: "E:\fusion\apache-tomcat-7.0.64\temp"
-
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_73"
-
Using CLASSPATH: "E:\fusion\apache-tomcat-7.0.64\bin\bootstrap.jar;E:\fusion\apache-tomcat-7.0.64\bin\tomcat-juli.jar"
-
Connected to the target VM, address: '127.0.0.1:56779', transport: 'socket'
-
2018-01-24 11:54:06 JRebel: Found offline lease from local storage.. executing JRebel with offline licensing.
-
2018-01-24 11:54:06 JRebel: Starting logging to file: C:\Users\King\.jrebel\jrebel.log
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: #############################################################
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: JRebel Agent 7.1.5 (201801171200)
-
2018-01-24 11:54:06 JRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: Over the last 2 days JRebel prevented
-
2018-01-24 11:54:06 JRebel: at least 11 redeploys/restarts saving you about 0.4 hours.
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: License acquired from License Server: http://127.0.0.1:8888
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: Licensed to King.
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: You are using an offline license.
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel:
-
2018-01-24 11:54:06 JRebel: #############################################################
-
2018-01-24 11:54:06 JRebel:
下面是当时,看了这篇文章之后,才找到的**的方法。确实**啦,但是,他的描述太简单啦。
也许大神们都这么滴,
我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。
(2018-08-20 更新)
据说,更新了idea的童鞋,再使用上面的方法就失效啦。我又去看了下原来的链接。大佬还是简单的几句话就给概括完了。
我这再给翻译一下吧。
也就是上面,在输入地址的时候,
原来是:http://127.0.0.1:8888/tom
这个时候给换成 http://127.0.0.1:8888/GUID。
这地方的guid,可以自己去生成个,我这给个地址,你可以直接点进去,去生成
生成guid的链接,满大街都是,我为了你方便,给你放个地址。
去上面链接的那个网页,你随便输入个东西,点击生成,他会给你生成个guid。类似把你输入的东西给加密了。
下面示范,
mac 电脑上是如何**这个插件的。
第一步。
还是去下载这个插件,可以在idea的插件那地方去下载,也可以去网站下载,然后再离线安装这个包。跟上面的一样的。
第二步,仅仅针对mac的安装
1.安装 brew
命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这个命令就是下载个东西,我这有截图,可以参看下。
额,图有点啰嗦啊,不怕,我上传都不嫌啰嗦,你就只是看看,也就别嫌弃师兄我啰嗦啦。
2.使用brew安装反向代理工具Nginx
安装方法:命令行输入: sudo brew install nginx
报错不可怕,给你看我的图。
可以看到,我使用sudo的时候报错了,灵机一动,把sudo去掉,再次运行就OK啦。估计因为我就是管理员了,没必要再sudo强制啦。
等待下载成功,
启动方法:命令行输入 sudo nginx
3.配置 Nginx:
打开该路径的配置文件:/usr/local/etc/nginx/nginx.conf
找到 http 下的 server:添加反向代理配置
老铁们是不是就是烦在命令行改东西,不怕。看我图里面你先进去到这个nginx的目录去。一路cd cd 就进去啦,这命令简单。然后使用 open + 路径 就可以打开他了,就可以操作文件啦。你找到那个 nginx.conf 文件,使用sublime打开他,修改完保存,再重启一下nginx就好啦。
我就改了2个地方,具体看我的截图。
我就改了个端口和地址。为了方便大佬们复制,我就把文字内容放在下面。
proxy_pass http://idea.lanyus.com:80;
重启nginx的命令,sudo nginx -s reload
这个时候,可能会有我截图的弹窗,你通过一下就好。
准备工作都OK的话,现在就该**啦。
邮箱随便输入,地址呢就是你刚刚在呢个配置文件里面配置的端口,地址,然后OK,最后面的那一串guid就是你去上面的网站自己生成一个就好啦。我也没必要打马赛克。
就**成功了。
Windows上的我就没试这个加guid的情况啦,老铁们估计把后面的tom换成guid就好啦。
哦,记得,work offline。