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个例子就算都示范完毕了。
我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。