美文网首页
springboot的3种常用热部署方式

springboot的3种常用热部署方式

作者: 我要进大厂 | 来源:发表于2020-10-11 16:14 被阅读0次

SpringBoot热部署方式常用有三种

1:spring-boot-devtools 
2:Spring Loaded 
3:Jrebel 

SpringBoot 1.3后才拥有SpringBoot devtools热部署

(前期设置) 统一开启相应的配置

  1. 需要开启自动编译功能


    自动编译功能
  2. 然后:使用 shift+ctrl+alt+"/" (IDEA中的快捷键) 选择"Registry" 然后勾选 compiler.automake.allow.when.app.running


1.spring-boot-devtools

依赖spring-boot-devtools实现,将以下代码放到dependencies中:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

依赖完,直接运行ApplicationBoot就行了,如图:

image

因本人项目springboot版本过低,导致spring-boot-devtools无法正常使用。无奈只能看其他的热部署

springloaded

1.第一种 通过springboot:run的方式(不推荐)

<build>
        <plugins>
            <plugin>
                <!-- springBoot编译插件-->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <!-- spring热部署 -->
                    <!-- 该依赖在此处下载不下来,可以放置在build标签外部下载完成后再粘贴进plugin中 -->
                    <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>springloaded</artifactId>
                        <version>1.2.8.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

springboot:run image.png

需要单独使用maven的命令去运行,脱离了sprigboot的run dashboard,繁琐。

第二种 直接使用javaagent

跟第一种采用的同样方式,不过需要将spring-loaded下载下来,可以通过配置vm,直接用run启动服务就可以了。

因springloaded1.2.9版本暂无法通过maven中央库下载,可直接通过下面链接下载到本地。
springloaded-1.2.9.BUILD-20200902.195913-10.jar

将下面这局代码放到VM arguments中,如图:

-javaagent:D:\maven_jar\springloaded-1.2.8.RELEASE.jar -noverify

# 说明:-javaagent:springloaded-xxx.jar的路径 -noverify
直接用javaagent

然后直接RUN启动就行了!

附属说明:springloaded1.2.6版本可能会出现以下问题 https://github.com/spring-projects/spring-loaded/issues/165 所以不建议使用1.2.6版本

java.lang.IllegalStateException: The type registry TypeRegistry(id=1252261311,loader=sun.misc.Launcher$AppClassLoader) does not know about t

3. 使用Jrebel (好用、收费,需要破解版)

开发工具idea中使用JRebel and 插件

1、点击File -> Settings -> Plugins,如下图:搜索JRebel安装

image.png

破解见:https://www.cnblogs.com/flyrock/archive/2019/09/23/11574617.html

image

点击Change license,进行已激活。激活成功界面

image

激活后一定要手动切换到离线模式,可离线180天,可随时重新点下“Renew Offline Seat”刷新激活周期,180天后激活状态会重新刷新 。

image
  1. 选择开启各个模块热部署配置,程序会自动添加rebel.xml
image

3、重启idea,右上角即出现快捷按钮,分别是run、debug模式

image

或者右键springboot的启动类:

image

又或者使用spring的运行面板:

image

在服务启动后,如增加或修改代码,按Ctrl+shift+F9重新编译,改动就可直接生效了.

参考:
https://www.cnblogs.com/leeego-123/p/10538460.html
https://www.jb51.net/article/174685.htm

相关文章

网友评论

      本文标题:springboot的3种常用热部署方式

      本文链接:https://www.haomeiwen.com/subject/xpeepktx.html