IDEA热部署设置
做Spring Boot项目的时候一点小改动都要重新运行,于是找找看能不能热部署。按照别人的方法来遇到了不少绊子,结合起来讲一下
适用范围
本方法适合使用了中文插件且版本较新的IDEA,注意!只适用于Spring Boot项目!
为何不使用Jrebel
这玩意大家都说好,需要破解,现在好像连试用期都没有。但是我半天没弄好(应该是版本问题),所以决定换一种方法。
平时用IDEA不常做Spring Boot的可以试试Jrebel,能用的话确实比本文的方法要好。
IDEA中文插件
说一下中文插件,其实是不建议使用的,可以锻炼一下。但是我完全看不懂,没办法
设置方法是【File】→【Settings】→【Plugins】→【Marketplace】,搜索Chinese,选择【Chinese(Simplified) Language Pack/中文语言包】,然后重启IDEA即可
注意!不要为了本文章特地安装中文插件!(这样就本末倒置了)可以去看看别的教程,大部分教程都是原版英语的
具体步骤
在pom.xml中添加devtools
使用热部署组件spring-boot-devtools,在pom.xml配置文件的<dependencies>标签中添加以下代码
也可以右键【生成】→【添加依赖项】中搜索添加
其中optional元素默认为false,设置为true表示项目之间依赖不传递,根据自己的需求进行配置。不确定的话可以不设置,不影响当前项目的热部署功能(注:选中代码后Ctrl+/快捷注释)
完成后在Maven栏点击刷新,加载依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<!-- <optional>true</optional>-->
<!-- <version>3.1.2</version>-->
</dependency>
IDEA设置
自动构建
打开【文件】→【设置】→【构建、执行、部署】→【编译器】,勾选【自动构建项目】,完成后点击【应用】
也可以直接搜索
自动启动
打开【导航】→【随处搜索】(其实应该叫全局搜索),搜索【注册表】,勾选【compiler.automake.allow.when.app.running】,然后【关闭】
如果快捷键不冲突,也可以【Shift+Shift】打开全局搜索,或者直接【Ctrl+Shift+Alt+/】打开维护界面选择注册表打开。注册表内是按照字母排序的,找到并勾选就完成了
注册表没有compiler.automake.allow.when.app.running
21版之后的IDEA可能注册表里没有这一项,其实它只是换了位置
打开【文件】→【设置】→【高级设置】,找到【编译器】栏,勾选【即使开发的应用程序当前正在运行,也允许自动make启动】即可
也可以直接搜索
然后就可以实现刷新更新啦。不过不知道是不是我的问题,每次都要刷新两次以上,但是总比重新运行要好