基于Maven的SpringBoot项目实现热部署的两种方式

下面我将介绍使用maven构建的SpringBoot项目中实现热部署的两种方式,使得部署变得异常简单,同时两种方式也非常的简单。

热部署

devtools

Pom.xml中直接添加依赖即可:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>provided</scope>
      <!--optional我没弄明白,都说必须为true,但我测试true,false,不加都可以-->
      <optional>true</optional>
    </dependency>

 

通过项目主程序入口启动即可,改动以后重新编译就好。

springloaded

Pom.xml中直接在spring-boot插件中添加依赖即可:

<plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <dependencies>
            <!-- spring热部署 -->
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>springloaded</artifactId>
              <version>1.2.6.RELEASE</version>
            </dependency>
          </dependencies>
          <configuration>
            <mainClass>cn.springboot.Mainspringboot</mainClass>
          </configuration>
        </plugin>

 

运行:

$ mvn clean spring-boot:run

改动后,编译即可实现热部署

结束语

这两种方式其实都是spring官网为了spring项目所推出的jar包,加之springBoot框架内嵌服务器的优势,使得改动后的项目部署变得非常简单;当我使用以后这两种方法以后,发现真正实现热部署的只是后者,前者只是实现了热启动而已,从控制台日志就可以看出来。

说明

  • 项目使用maven管理,不然这篇简单实用的文章不适合你
  • 第一种方式配置文件改动后不能触发热启动
  • 第二种方式配置文件改动后不能触发热部署,会提示一下错误
posted @ 2018-08-02 11:45  人丑没钱嘴不甜  阅读(1289)  评论(0编辑  收藏  举报