使用 Intellij IDE 进行春季启动热插拔

新手上路,请多包涵

我有一个使用 Intellij IDE 运行良好的 Spring Boot 应用程序。即,我启动了具有委托给 SpringApplication.run 的主要方法的应用程序类。除了热插拔,一切都很好。当我更改源时,我被迫重新启动应用程序。即使我在调试模式下启动应用程序,我也看不到热插拔工作。我可以看到 Intellij 的调试设置启用了热插拔。

我的观察表明,当我运行 springboot 应用程序时,使用的类路径是我的

/projects/MyProject/类/生产/ ....

当我更改代码时, classes/production 下的文件没有得到更新。 Intellij IDE 编译文件但不更新 classes/production 目录。如何使用 IntelliJ IDE 进行热插拔以进行 spring-boot?

原文由 suman j 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 735
2 个回答

找出了根本原因。这与 Spring-boot 无关。在更改我的 groovy 源文件时,文件没有自动编译。

要重新编译更改的文件并交换它们:

  • Ctrl+Shift+F9 在 Windows 上
  • Cmd+Shift+F9 在 Mac 上

原文由 suman j 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 devTools 的解决方案有效:

1 - 将开发工具添加到您的项目中

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

2-启用自动构建

打开 Settings –> Build-Execution-Deployment –> Compiler 并启用:

 Build Project Automatically.

3- 更新 compiler.automake.allow.when.app.running 的值

ctrl+shift+A 并搜索 registry 。在注册表中,启用:

 compiler.automake.allow.when.app.running

希望能帮助到你 !


参考 :

原文由 Radouane ROUFID 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进