zoukankan      html  css  js  c++  java
  • spring boot热加载for idea

    前言

    之前在用tomcat作为web服务器时,通过更改idea中的配置"Update classes and resources"即可实现热部署,现在改成spring boot之后发现不行了。热部署对于开发人员来说是个提升开发效率的神器,所以今天决定搞定这个问题!

    一、为什么不用spring-devtools?

    首先明确一点,为什么不使用spring-devtools。一般热部署都是通过ClassLoader来实现,每次类发生变化时重新加载类信息,具体细节这里不再阐述,可以自行度娘或google,总之上述的操作会给服务器带来额外的开销。所以先明确自己的需求,我的需求就是方便本地开发测试,不用每次都重启,我们要避免其他的依赖延续到线上服务器。而spring-devtools因为需要额外的jar依赖,需要将jar上传的服务器,通过配置"spring.devtools.restart.enabled=false关闭监听,好吧,我是个有强逼症的人

    二、其他的方案

    还有另外一种方式,通过spring-loaded+maven命令启动,这种方式仔细看下,还不如直接用spring-devtools,果断放弃

    三、jrebel的使用

    jrebel以插件的形式附着在idea上,不会影响其他的任何环境的任何服务器,符合我们的需求。

    1、下载安装

    在idea中搜索jrebel插件,点击下载安装即可,如下图:

    2、重启idea

    这个没什么好说的,重启就好了。友情提示,如果idea在运行着某个服务,建议先手动关闭再重启,否则会等很久(具体啥原因不太了解,猜测idea关闭服务并不是直接kill那么简单吧)

    3、激活

    jrebel并不是免费的,需要激活一下才可以,如下图:

    上面的地址格式是 http://139.199.89.239:1008/{guid} 的形式,其中guid可以通过 https://www.qvdv.com/tools/qvdv-guid.html 来生成;邮箱随便填写一个就好了,会给你发送邮件

    4、配置

    激活之后需要配置一下jrebel,打开idea的setting,点击jrebel,点击work offline(点击后变成work online),如下图:

    5、启动

    一切都准备好之后,在ieda原来的启动按钮旁边会多出两个按钮,可以理解为以jrebel的形式启动,这样就可以实现热部署了,如下图:

    6、注意

    由于使用了破解版,对于一些公司可能有版权的要求限制(比如阿里是不允许使用破解版的软件的),需要自行斟酌。

  • 相关阅读:
    【luogu P1040 加分二叉树】 题解
    【luogu P4711 「化学」相对分子质量】 题解
    【luogu P2319 [HNOI2006]超级英雄】 题解
    【luogu P1640 [SCOI2010]连续攻击游戏】 题解
    【luogu P3369 普通平衡树(Treap/SBT)】 模板 Splay
    【luogu P2234 [HNOI2002]营业额统计】 题解
    【luogu P1494 [国家集训队]小Z的袜子】 题解
    【luogu P3901 数列找不同】 题解
    【luogu P3807 卢卡斯定理】 模板
    JAVA IO 体系
  • 原文地址:https://www.cnblogs.com/1ning/p/10857276.html
Copyright © 2011-2022 走看看