问题描述:maven(Gradle)项目修改前台页面文件,只是刷新页面不起作用,总是要项目重启才能够起作用
解决:pom.xml(builder.gradle)文件中将spring-boot-devtools的引用注释了,放开注释就OK了
springboot-devtools模块能够实现热部署,添加类.添加方法,修改配置文件,修改页面等,都能实现热部署(即页面修改后会立即生效,这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现).
原理就是重启项目,但比手动重启快多了,其深层原理是使用了两个ClassLoder,一个ClassLoader加载哪些不会改变的类(第三方jar包),另一个ClassLoader加载会更改的类.称之为restart ClassLoader,这样在有代码更改的时候,原来的restart Classloader被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)
引用devtools只需在项目的配置文件中引入相应的jar包即可
注意:IDEA中使用热部署之前还要调整两个设置
1、file->setting->Build,Execution,Deloyment->Compiler->Build project automatically打上check;
2、组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾“compiler.automake.allow.when.app.running”