SpringBoot通过devtools实现热部署

  1. 在项目的pom.xml文件添加如下两段
  2. <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-devtools</artifactId>

    <version>1.5.7.RELEASE</version>

    <optional>true</optional>  

    </dependency>

    ?

  3. <plugin>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-maven-plugin</artifactId>

    <configuration>

                        <fork>true</fork>

                        <addResources>true</addResources>  

    </configuration>

    </plugin>

    ?

  4. 如果使用的是Intellij IEDA开发工具,还需要到设置里将project automatically勾选上;File->Setting->Build,…->Compiler  将右侧project automatically勾上

    ?

  5. Intellij IEDA 使用ctrl+shift+a 快捷键搜索Registry,选择搜索出来的第一个

    ?

  6. 找到compiler.automake.allow.when.app.running,勾上开启此功能即可

    ?

  7. 7

    此时重新启动项目即可实现热部署,改动任意代码会立即生效,不用再每次重新启动项目

原文地址:https://www.cnblogs.com/BoKe-LY/p/11847129.html

时间: 2024-10-07 22:52:49

SpringBoot通过devtools实现热部署的相关文章

SpringBoot配置devtools实现热部署

SpringBoot配置devtools实现热部署 spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的resta

SpringBoot 4.SpringBoot 整合 devtools 实现热部署

一.添加 devtools 依赖 <!-- Spring boot 热部署 : 此热部署会遇到 java.lang.ClassCastException 异常 --> <!-- optional=true,依赖不会传递,该项目依赖devtools:之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 --> <dependency> <groupId>org.springframework.boot</groupId> <

SpringBoot : 利用devtools实现热部署,改动代码自动生效

一.前言 spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间. 其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart

spring-boot 速成(2) devtools之热部署

JRebel热部署插件相信很多人都知道,但是这是一款商业插件,spring-boot框架也提供了类似的功能,即:devtools,关键是免费的! 使用方法如下: 一.添加 devtools依赖 dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-devtools') compileOnly('org.proj

第十七章 springboot + devtools(热部署)

技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel) 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc). bc:用于加载不会改变的jar(eg.第三方依赖的jar) rc:用于加载我们正在开发的jar(eg.整个项目里

SpringBoot+gradle+idea实现热部署和热加载

前言 因为之前使用myeclipes的同学就知道,在使用myeclipes的时候,java文件或者jsp文件写完之后会被直接热加载到部署的容器中,从而在开发的时候,不同经常去重启项目,从而达到了增加开发效率的目的. 但是现在切换到SpringBoot之后,因为没有外部容器的支持,而且使用gradle去构建项目,再加上idea默认不会自动编译的特性,最终导致开发项目的时候需要经常重启项目,这是我们不愿意看到的. 为了提高开发效率,我们下面将优化我们的SpringBoot模版.方案经过验证,可放心使

IDEA+DevTools实现热部署功能

开发IDE: Intellij IDEA 2018.1 SpringBoot:1.5.9.RELEASE 热部署 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的Class文件,这个文件里记录着和代码等对应的各种信息,然后Class文件将被虚拟机的ClassLoader加载. 而热部署正是利用了这个特点,它监听到如果有Class文件改动了,就会创建一个新的ClaassLoader进行加载该文件,经过一系列的

SpringBoot入门-2(springload热部署)

1.在1的基础上,pom文件添加一个plugin节点 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> <

devtools进行热部署

热部署的形式这里只介绍一种devtools devtools可以实现页面热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现) 实现类文件热部署(类文件修改后不会立即生效),实现对属性文件的热部署.即devtools会监听classpath下的文件变动,并且立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启很快. 1.base_classloader (Base类加载