在IntelliJ IDEA中,Spring Boot Devtools的重启功能无法正常工作

用IntelliJ IDEA在Spring Boot Devtools运行

我在IntelliJ IDEA中进行了Spring Boot Devtools的设置,但是更改一直没有反映出来,让我陷入困境,所以写下备忘录。
总结起来就是,正如这篇文章所说的那样。
这篇文章真是太棒了。

这个词很难直接翻译成中文,但可以尝试以下方式来表达:坐骨神经压迫点

    我不知不觉地相信了魔法的力量

我猜你正在编写代码,并期望开发工具能够自动地发现你在项目中进行了一些更改?开发工具通过监视你的类路径文件夹来做到这一点。当一个.class文件(或资源)发生变化时,开发工具会采取适当的措施。

我不了解注册表的设置。

这是什么?我觉得连官方也没有提到过。。

编译器运行时允许自动生成代码。

2017/08 追加备注
3. 未从主要的 main 方法中启动

我正在使用Gradle作为任务执行器,但是作为应用程序的启动任务,有一个bootRun任务。
当通过bootRun启动时,Gradle的构建目标$projectRoot/build将被监视为资源的更改目标。

14:42:38.506 [主线程] 调试 org.springframework.boot.devtools.settings.DevToolsSettings – 重新启动的包含模式: []
14:42:38.509 [主线程] 调试 org.springframework.boot.devtools.settings.DevToolsSettings – 重新启动的排除模式: [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
14:42:38.509 [主线程] 调试 org.springframework.boot.devtools.restart.ChangeableUrls – 用于重新加载的匹配URL:[file:/Users/userName/Documents/workspace/projectName/build/classes/main/, file:/Users/userName/Documents/workspace/projectName/build/resources/main/]

然而,在IntelliJ IDEA中编译后的成果物会被放置在$projectRoot/out目录下。
将资源放置在$projectRoot/build目录下的任务属于Gradle,但是Gradle没有启动的触发器。
因此,我们需要从main方法启动应用程序,并将$projectRoot/out文件夹设置为监视更改的目标。

14:32:12.395 [主] 调试 org.springframework.boot.devtools.settings.DevToolsSettings – 重新启动的包含模式: []
14:32:12.398 [主] 调试 org.springframework.boot.devtools.settings.DevToolsSettings – 重新启动的排除模式: [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
14:32:12.398 [主] 调试 org.springframework.boot.devtools.restart.ChangeableUrls – 重新加载的匹配URL: [file:/Users/userName/Documents/workspace/projectName/out/production/classes/, file:/Users/userName/Documents/workspace/projectName/out/production/resources/]

广告
将在 10 秒后关闭
bannerAds