intelliJ Idea自带热部署和Jrebel实现热部署

https://www.cnblogs.com/wql025/p/5017823.html


之前用eclipse开发,前端页面,js,css,刷新页面都能实时加载,换到idea每次都要重启服务,非常麻烦,心想idea是eclipse之后才出的,这点功能不能没有吧,于是查资料:

============分割线==============

(1)idea自带的热部署:

首选要把发布模式改成exploded模式而不是war模式,这点大家非常容易忽略


这里简单说一下exploded和war模式的区别:

war模式:idea每次重启之后,都会将工程打成一个war包,在targert目录下有,在将这个war推到tomcat(或其他服务器)下,而exploded模式是将编译好的文件的位置关系推到服务器上,这个模式下,target下面是没有生成的war包,可以通过简单的代码来看他们之间的却别:

首先是exploded模式下:获取上下文路径:就是该项目所在的target所在的路径



war模式下:得到的上下文路径是:tomcat所在的webapps下面的工程路径


现在很好理解,war模式为什么不能实现热部署了吧。

     现在在说一下exlpoded模式下如何实现简单的热部署:

      将 on update action 和 on frame decactivation 都设置成update classes and resources(war模式下是没有update classes and resources这个选项的),这样设置已经完成了,只要焦点失去当前界面的情况下,idea就是自动编译

如果只是前端代码的热部署,启动方式run和debug模式都可以,如果是java也想热部署的话,只有debug模式启动才可以,而且这种方式添加/删除方法和给方法添加/删除参数都是不能自行完成热部署的。

(2)Jrebel 热部署

首先就是下载jrebel,在idea的plugins搜索jrebel



直接安装就好了。重启idea,在help里面能看到jrebel说明安装好了:



接下来就是最重要的激活了。我用的是activation code的方式激活的(驱动激活的方式需要jrebel.lic,网上下了好多都不好用,果断放弃了)

激活步骤:首先:用twiiter或者facebook关联登录https://my.jrebel.com这个网站(没有twiiter或者facebook的话就注册一个吧,毕竟可以了解一下国内你不知道的东西)

点击“install and Activate”就会有激活码:

 

将激活码复制到IDEA->help->jrebel->activation->activation code里面就可以了:



大功告成。

开始配置jrebel:


view ->tool windows ->jrebel,在需要热部署的项目上选中,这时候会在你的跟目录中生成一个rebel.xml文件,这个是jrebel的配置文件,需要是配置jrebel的监听目录的。


已经配置完成。可以实现热部署了。

下一次研究一下jrebel对远程服务器代码的热部署。

猜你喜欢

转载自blog.csdn.net/qq_34627002/article/details/80874860