Spring Boot热部署(Gradle+IDEA)

框架: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热部署(Gradle+IDEA)_第1张图片

你可能感兴趣的:(spring-boot,gradle,idea,Java)