IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 一文搞定IDEA中SpringBoot项目环境的热部署 -> 正文阅读

[Java知识库]一文搞定IDEA中SpringBoot项目环境的热部署

很多人都知道,如果更改IDEA中的一些配置,我们便可以在SpringBoot项目中修改前端程序代码后,直接刷新浏览器便可以看见修改前端代码后的效果,但是一旦修改Java源程序就需要重新启动服务器。而在实际的项目开发调试过程中会频繁地修改后台类文件,导致需要重新编译、重新启动,整个过程十分麻烦,影响开发效率,热部署就是使正在运行状态的应用,修改了它的Java源码之后,在不重新启动服务器的情况下能够自动把修改内容编译并部署到服务器上,使得修改立即生效。 热部署为了解决的问题有两个:
1、在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;
2、生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。
具体实现SpringBoot项目环境的热部署步骤如下所示:

1.在pom.xml中添加dev-tools依赖

在创建的SpringBoot项目中的pom.xml中添加dev-tools依赖,将下述的代码粘贴进入pom.xml刷新即可。

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

注意:使用optional=true是表示依赖不会传递,即项目依赖于devtools;其他项目如果引入此项目生成的JAR包,则不会包含devtools。
下载完毕后,能够在项目的依赖项中发现devtools依赖即表示下载并导入成功,如下所示:
在这里插入图片描述

2.设置开发环境热部署

在类路径下的application.properties配置文件中配置devtools。具体配置代码如下所示:

# 开启热部署
spring.devtools.restart.enabled=true
# 设置重启目录
spring.devtools.restart.additional-paths=src/main/java
# 设置classpath目录下的static文件夹内容修改不重启
# 因为static文件夹下面放的是静态资源(包括图片 js文件 css文件等)
spring.devtools.restart.exclude=static/**

3.开启自动编译

首先点击IDEA菜单栏的文件,选择设置,选择构建、执行、部署下面的编译器,最后勾选自动构建项目即可。具体如下图所示:
在这里插入图片描述
最后,我们还需要在设置中的高级设置勾选允许启动自动生成即可!
这里需要注意:
IntelliJ IDEA中的注册表中开启compiler.automake.allow.when.app.running选项,此选项在IntelliJ IDEA 2021.2之后的版本迁移到高级设置中了。
在这里插入图片描述
经过以下三个步骤,从今以后你更新的Java代码将会自动被编译执行,这里我建议在项目开发初期可以不需要项目的热部署,可以在项目的测试阶段开启项目的热部署,因为我们在测试阶段需要不断的重启项目寻找Bug修改Bug,当然这只是我的个人建议,读者可以根据自己的习惯自行选择。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 00:56:31  更:2022-09-04 01:00:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:15:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码