IDEA 下 SpringBoot 自动重启
Java 的项目每次修改了源码以后想要测试都要停止服务,然后重新启动服务。虽然就是点几下鼠标的事情,多少还是比较麻烦的。能自动的还是自动的好。
在 Spring Boot 项目中,只要引入 Spring Boot Dev Tools 其实就可以了。我们可以通过 Spring 的脚手架去引入 Spring Boot Dev Tools,也可以通过 Maven 的方式去引入它。这里给出 Maven 引入的方式。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
以上就是 pom.xml 文件中引入的依赖。
除了要引入该依赖以外,还需要在插件的位置进行配置,配置如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
在上面的配置中,增加了 <configuration> 这个选项,Spring 脚手架生成的 pom.xml 文件中本来是没有这部分的。
如果是在 STS 或 Eclipse 下,只要引入 Spring Boot Dev Tools 就可以了。但是,如果是在 IDEA 下,除了要引入该依赖以外,还需要对 IDEA 进行简单的配置。
在菜单中选择 “Preferences...”,然后对其进行第一步的设置,如下图:
上图中选中 “Build project automatically”,点击 “Apply”。
然后按下 shift + option + command + / ,会出现如下图:
选择 “Registry”,继续进行设置,如下图:
勾选中 “complier.automake.allow.when.app.running” 即可。
经过以上的配置以后,在我们的 Spring Boot 项目中修改某个类文件的代码,观察一下 run 或 debug 的窗口,看看项目有没有自动重启。如果没有重启,那么可能是新引入了 pom 的依赖,需要重启项目,下次再修改了代码项目就会自动重启了。
Spring Boot Dev Tools 不能算是真正的热部署,JRebel 据说更好一些,因为 JRebel 是收费的,我就没有去测试它,有兴趣的可以去试试。
- 11g备库无法开启ADG的原因分析 (r7笔记第62天)
- JDBC基础入门(3)
- Python多元线性回归-sklearn.linear_model,并对其预测结果评估
- python 聚类分析实战案例:K-means算法(原理源码)
- JAVA面试题解惑——final、finally和finalize的区别
- Java内存管理
- python基础知识——内置数据结构(字典)
- mysql、mongodb、python(dataframe).聚合函数的形式,以及报错解决方案
- JavaScript计算水仙花数【可自定义范围】
- JSP简单入门(1)
- mongodb取出json,利用python转成dataframe(dict-to-dataframe)
- JSP简单入门(2)
- JSP简单入门(3)
- 物化视图相关的性能改进 (r7笔记第58天)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 「kafka」kafka-clients,java编写生产者客户端及原理剖析
- 「kafka」kafka-clients,java编写消费者客户端及原理剖析
- Kubernetes:如何自动检测和处理弃用的API
- 逐行阅读Spring5.X源码(九)spring利用CGLIB实现动态代理原理剖析
- 逐行阅读Spring5.X源码(十)spring如何解决循环引用,bean实例化过程源码详解
- 逐行阅读Spring5.X源码(十一)AOP概念、应用、原理
- java当中的线程和操作系统的线程是什么关系?
- 基于OpenCV 的车牌识别
- Redis入坟(六)分布式集群,概念、原理、实操
- Redis入坟(一)redis的前世今生、redis基础及存储结构源码讲解
- Redis入坟(二)高级特性,发布订阅、事务、Lua脚本
- 使用OpenCV对运动员的姿势进行检测
- Redis入坟(三)Redis为什么这么快?
- Redis入坟(番外篇)配置文件redis.conf,解析每个参数的含义
- 使用OpenCV自动去除背景色