JRebel 7.1.5 结合 IntelliJ IDEA ,单模块项目和多模块项目的热部署示范。

版权声明:觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐(额,就是文章底部的“顶”啦),要是嫌弃麻烦呢,也麻烦点个赞嘛,要是实在不想点赞呢,也不是不可以。 但是,你要是想踩一脚呢,那还是赶紧,马上,快快的闪人。 小心我手里三十米长的大刀。 哼哼。想想都怕 !!! https://blog.csdn.net/qq_27093465/article/details/84570637

IntelliJ IDEA使用教程 (总目录篇)

首先这个插件怎么下载、安装、激活,windows版本的和mac版本的,请参考下面的链接。

(mac 和 windows) JRebel 7.1.5 插件下载 安装 激活 结合 IntelliJ IDEA ,处理 hot swap failed 的问题。是真的热部署。

然后我这篇文章就示范,他是怎么热部署的(单模块项目和多模块项目)。

1,单个模块的项目的热部署示范

首先,你的项目不能再使用自带的(下图前面的框)debug启动项目了,得使用这个JRebel的提供的2个启动按钮(后面的2个框)。

大师兄

然后,启动完之后,这个时候,就可以随意修改代码,然后还带自动给你部署的。

关于tomcat的配置,也需要注意一点:

大师兄

这个地方,即使你不使用这个JRebel,这地方也是需要修改一下的,按照图上的那样,这个配置在没安装JRebel的时候,他只支持简单的热部署,修改方法内部的代码,等是可以热部署的,但是,你要是新增方法,修改model属性,修改注解或者注解参数等,他就会出现hot swap 失败的错误,然后,只能重启tomcat,修改的代码才会生效。安装了JRebel之后,这个地方也是需要如图配置一下的。

我这地方测试的时候,做了2件事情:

1,在项目运行的时候,给model bean添加属性。

2,在controller里面又新增了个get请求的方法。

全程没有关闭tomcat,重启。

大师兄

大师兄

这个操作完之后,你切换到浏览器,然后稍等,给idea个反应到时间,毕竟热部署也是要时间到嘛。你会在debug的那个console里面看到一些打印信息

大师兄

为了截图,为又修改了下model bean类的那个属性,添加个默认值“设置个默认值---”。然后有如下的图。看到那个“1 class reload”了没,console里面也多了一句话,热部署了一个class。

大师兄

这些操作完之后,直接在浏览器上,输入请求地址,因为是get请求,所以直接输入URL就OK了。大师兄

第二次修改model之后,刷新一下这个请求,然后有下图。可以看到字变了。

大师兄

结论:

可以看到,在没有重启tomcat的情况下,这个请求正常执行,而且,model新增的属性,也可以请求的到。

2,多模块项目的热部署示范

还是一样的套路。(有一点点的不一样,这个很关键。用下标0来表述吧)

0,首先这个因为是多模块的项目,这个插件默认是都关闭的。你的把开关打开才行。

大师兄

这个前面都打对号,就是把所有的这几个子模块都给他enable一下。看图。

大师兄

因为我第一次测试的时候,没发现这个,以为这个是不需要操作的,然后,后来发现这个热部署失败了,才回头搞这个的,所以会有下面的这个console的提示。

大师兄

大概意思是,你要使得这个JRebel对某个项目管用,你得再次发布redeploy一下项目使得这个配置生效。

因为我第一次启动的时候,是没有enable的,后来把对勾打上之后,才有的这个提示,所以,我这步骤的下标就给标记成0了。

你enable之后,每个项目都会多个文件夹以及一个文件。

大师兄

你得把这些个文件给ignore掉,这个也在svn的使用篇里面说了。

大师兄

这是其中的一个文件的内容,看说明就是这个JRebel的配置文件啦。

1,使用JRebel的debug模式启动。(参考文章的单模块的第一图)

2,tomcat里面配置一下(参考文章的单模块的第二图)

3,这次不但修改了model,给model又添加了一个属性,然后,还给某个子模块新创建了一个controller。然后在这个controller里面添加个请求,findAll的方法。

大师兄

大师兄

使用这个idea时间就的就知道这个文件的绿色,代表是新添加的。这个我在svn使用的那篇文章里面有讲到。反正,我这是在tomcat没有停下的情况下,新创建了个controller。写了个请求的方法,然后在页面去请求这个URL。

大师兄

可以看到model添加的属性得到了,然后请求也正常执行啦。

结论:

这个也是没重启tomcat的情况下,实现了自动热部署。这个就是在咱本地热部署而已,而不是说把这个发布到,某个服务器上,我这试验的是本地的热部署,其实这个tomcat估计也可以配置服务器的,只是我这没试验过。理论上可行的。因为可以看到,有个绿色的火箭的那个图标下面是有朵白云的,这个意思就是说,可以远程部署到云端的服务器上去的。

对,可以的,在配置tomcat的时候,我这选择的是local,也可以选择remote的,这个remote就是远程的意思。

然后。

这个热部署的2个例子就算都示范完毕了。

我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。

猜你喜欢

转载自blog.csdn.net/qq_27093465/article/details/84570637
今日推荐