gpt4 book ai didi

Spring-boot 和 spring boot 开发工具集成未显示更新的类更改

转载 作者:行者123 更新时间:2023-12-03 04:00:14 25 4
gpt4 key购买 nike

我正在尝试关注 this example要做spring bootspring boot dev tools集成做自动重启。当我运行 build --continuous 时,构建文件夹中的类正在更新任务,但应用程序仍然与旧类对话。在示例中 bootRun任务如下。我的项目有运行应用程序的自定义任务。现在与 build -continuous当我更改应用程序时,它正在重建类,但正在运行的应用程序未显示更改。如何更改我的自定义 h2Run任务,以便它加载更改的类?谢谢你。

示例中的启动运行任务

bootRun {
classpath = sourceSets.main.runtimeClasspath + configurations.dev
}

我的 bootRun 自定义任务
class Run extends JavaExec {
Run() {
group "application"
dependsOn project.tasks.classes, project.tasks.pathingJar
classpath = project.files("$project.buildDir/classes/main", "$project.buildDir/resources/main", project.tasks.pathingJar.archivePath)
main = "com.mycompany.Application"
}
}

task h2Run(type: Run) {
classpath = sourceSets.main.runtimeClasspath + configurations.dev // this is not working
description "Start $appName using H2 database"
args "--spring.profiles.active=dev"
mustRunAfter 'cleanH2'
dependsOn copyContentTypeLibraries
}

最佳答案

我浏览了您链接到的 DZone 文章。我没有添加你的自定义 Run类(class)或任务,我刚抓了bootRun文章中的任务。即使没有您的任何自定义代码,我最初也遇到了与您相同的行为。

文章指出:

  1. At the first terminal, start Gradle build as a continuous task: gradle build --continuous

  2. At the second terminal, start the Gradle bootRun task: gradle
    bootRun



如果我按此顺序执行这些操作,我还会看到我的类重新编译,但 servlet 容器不会选择更改。就像你描述的那样。

但是,如果我这样做 gradle bootRun 第一 , 和 gradle build --continuous 第二个 , 应用程序运行后,每当我编辑 java 文件时,应用程序都会按预期重新启动。

您是否尝试过以相反的顺序执行两个终端窗口中的命令?

关于Spring-boot 和 spring boot 开发工具集成未显示更新的类更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46698369/

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