我有一个使用Intellij IDE运行良好的Spring启动应用程序.即我启动了具有委托给SpringApplication.run的main方法的Application类.除了hotswap,一切都很好.当我更改源代码时,我被迫重新启动应用程序.即使我在调试模式下启动应用程序,我也看不到hotswap工作.我可以看到Intellij的Debug设置启用了hotswap.
我的观察表明,当我运行springboot应用程序时,使用的类路径是我的
/projects/MyProject/classes/production/....
classes/production
更改代码时,下面的文件没有更新.Intellij IDE编译文件但不更新classes/production目录.如何使用IntelliJ IDE进行spring-boot热插拔?
使用devTools的解决方案有效:
org.springframework.boot spring-boot-devtools
打开设置 - >构建 - 执行 - 部署 - >编译器并启用:
Build Project Automatically.
按下ctrl+shift+A
并搜索registry
.在注册表中,启用:
compiler.automake.allow.when.app.running
希望能帮助到你 !
参考文献:
https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with
找出根本原因.这与Spring-boot无关.在更改我的常规源文件时,文件未自动编译.
要重新编译已更改的文件并进行交换:
Ctrl+Shift+F9
在Windows上
Cmd+Shift+F9
在Mac上
步骤1:添加开发人员工具
Maven。
org.springframework.boot spring-boot-devtools true
摇篮。
dependencies { compile("org.springframework.boot:spring-boot-devtools") }
第2步:转到文件| 设置| 构建,执行,部署| 编译器
自动启用构建项目并应用并确定
步骤3:按快捷键Ctrl + Shift + A和搜索注册表关键字,然后按Enter
启用complier.automake.allow.when.app.running并单击“ 关闭”按钮
步骤4:在您喜欢的网络浏览器上禁用缓存
步骤5:完成!!!
在YouTube上观看解决方案使用弹簧式.它适用于bean重新加载.它是JRebel的免费替代品.
另一种方法是使用DCEVM或hotswapagent