我用的是网上公开的若依框架
1.在根目录的pom.xml 加了如下两部分
<!--热部署依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<!--不添加版本号,Maven编译时可能会出现 org.springframework.boot:spring-boot-devtools:unknown-->
<version>2.1.7.RELEASE</version>
</dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!--重要-->
</configuration>
</plugin>
2.在我想要实现自启动的微服务中的配置文件(application.yml)里添加了如下内容:
devtools:
restart:
enabled: true #设置开启热部署
freemarker:
cache: true #页面不加载缓存,修改即时生效
3.ideal的设置的 file-》setting-》build,Excution,Deployment-》Compiler 中选中了 build project automatically 选项
4.用快捷键 Ctrl+Shift+Alt+/ 打开Maintenance 窗口点击了registry 选中了 compiler.automake.allow.when.app.running
5.注意项:file-》Other Settings-》Default Settings-》build,Excution,Deployment-》Compiler 中选中了 build project automatically 选项
6.Build-》Build Project 【快捷键 ctrl+ F9】 重新编译一下
重启( EureKa| config |gateway | 自定义的微服务 )修改一行代码,微服务自启动。
---------------------------------------------------------------------------
整个项目重启了。不是想要的的部分编译。
还是有问题:
Unable to start LiveReload server
问题:在使用SpringBoot 热部署插件 devtools ,同时启动多个Application时,控制台会报这个警告。
原因:DevToolsProperties中配置了一个端口,默认是35729。
解决方案:在application.properties文件中加上以下配置
#指定端口,具体视自己情况而定,只要不重复就可以
spring.devtools.livereload.port=35730
No MyBatis mapper was found in '[com.ruoyi]' package. Please check your configuration.