gpt4 book ai didi

java - Spring Boot 与 Spring Loaded 和 Gradle 一起工作

转载 作者:行者123 更新时间:2023-11-30 08:55:25 24 4
gpt4 key购买 nike

我试图让一个简单的 Spring-Boot 应用程序与 Spring Loaded 和 Gradle 一起工作,但没有成功。我尝试了以下方法:

  1. 将 Spring-Boot 与 bootRun 任务结合使用,只需在浏览器中按 F5 键即可重新加载静态资源

  2. 如果我再次使用 bootRun 并通过文本编辑器更改类并使用 compileJava 它不起作用。

  3. 如果我使用 IntelliJ 应用程序 运行它,在现有 Controller 中进行更改并使用 IntelliJ make 它仅适用于现有方法。不更新新方法、更改签名等。

  4. 使用带有 VM 参数的 IntelliJ:

    -javaagent:C:\Users\myuser\.m2\repository\org\springframework\springloaded\1.2.1.RELEASE\springloaded-1.2.1.RELEASE.jar -noverify

仍然什么都不做。

理想情况下,我只想通过使用 Gradle 来执行该过程 - 所以我是独立于 IDE 的

请查看 Github 项目,这样您就可以看到我的示例代码: Sample Project

只需在 DemoController 中执行任何更改

最佳答案

似乎诀窍是使用任务 build bootRun 而不是简单的“bootRun”。

这是一个 Gradle 构建文件,当 Java 类更改时,它也使用 watch 插件进行增量编译:

buildscript {
ext {
springBootVersion = '1.2.2.RELEASE'
springLoadedVersion = "1.2.1.RELEASE"
}
repositories {
mavenCentral()
mavenLocal()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.springframework:springloaded:${springLoadedVersion}")
classpath 'com.bluepapa32:gradle-watch-plugin:0.1.5'
}
}

repositories {
mavenCentral()
mavenLocal()
jcenter()
}

apply plugin: "java"
apply plugin: "spring-boot"
apply plugin: 'idea'
apply plugin: 'application'
apply plugin: 'com.bluepapa32.watch'


mainClassName = "com.example.my.Application"

dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
runtime("org.hsqldb:hsqldb")
}

task wrapper(type: Wrapper) { gradleVersion = '2.3' }

idea {
module {
inheritOutputDirs = false
outputDir = new File("$buildDir/classes/main/")
}
}

compileJava {
//enable compilation in a separate daemon process
options.fork = true
//enable incremental compilation
options.incremental = true
}

watch {
java {
files files('src/main/java')
tasks 'compileJava'
}
}

关于java - Spring Boot 与 Spring Loaded 和 Gradle 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com