Spring Boot热部署(Gradle+IDEA)
程序员文章站
2022-03-30 15:56:40
...
框架:SpringBoot;构建工具:Gradle;IDE:IDEA
这种组合要实现SpringBoot热部署的资料较少,经过研究,可以实现JSP和Java类的热部署了,有点小激动~
该组合用dev-tools热部署不可行。dev-tools只实现了JSP热部署,而Java类更改,再Recompile,整个项目会重启,无法热部署,开发效率低下。
使用的替代方案是:Java类热部署使用spring-loaded(修改后需要手动Recompile【快捷键:Ctrl+Shift+F9】,可修改快捷键方便操作);JSP的热部署其实SpringBoot已经实现了,但因为会影响性能,所以默认关闭,在开发环境开启即可
Java类热部署
build.gradle
apply plugin: 'idea'
//Java类的热部署
buildscript {
repositories { jcenter() }
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:1.5.3.RELEASE"
classpath 'org.springframework:springloaded:1.2.7.RELEASE'
}
}
idea {
module {
inheritOutputDirs = false
outputDir = file("$buildDir/classes/main/")
testOutputDir = file("$buildDir/classes/test/")
}
}
//Java类的热部署
JSP热部署
build.gradle
bootRun {
//需开启才能使用JSP热部署功能
addResources = true
}
application-dev.yml
# jsp hotswapping 在开发环境开启JSP热部署,生产环境默认关闭,开启会影响性能
---
server:
jsp-servlet:
init-parameters:
development: true
使用XML的童鞋是这样
server.jsp-servlet.init-parameters.development=true
附:修改Recompile快捷键
推荐阅读
-
spring boot 即时重新启动(热更替)使用说明
-
Springboot基于assembly的服务化打包方案及spring boot部署方式
-
Spring boot项目部署到云服务器小白教程详解
-
Spring Boot打包部署和环境配置详解
-
spring boot devtools在Idea中实现热部署方法
-
Spring Boot 配置 IDEA和DevTools 热部署的方法
-
使用Docker部署 spring-boot maven应用的方法
-
java热部署原理(spring连接多个数据库)
-
java热部署原理(spring连接多个数据库)
-
基于Flyway实现简化Spring Boot项目部署