11

有没有人知道在 IntelliJ 14.0.2 下为 Spring Boot 应用程序获取资源和模板的热部署机制。

我知道 14.1 计划对 Spring Boot 提供全面支持,但我有一个项目从标准 WAR 项目转换为 Spring Boot 项目,我真的很怀念热部署。

目前我必须手动构建资源所在的项目才能进行热部署,即使这样有时它也有点不稳定。我宁愿只保存一个模板或一个 javascript/css 文件,然后像我在通过 IntelliJ 使用本地 tomcat 服务器运行我的应用程序时那样获取它。

我可以切换回 Eclipse 来完成这项工作,但我的项目是基于 Scala 的,并且 IntelliJ Scala 支持要好得多。

4

3 回答 3

13

因此,经过一些测试,我得出了一些结论,我认为到达这里的人可能会觉得有用:

如果您在调试模式下从 IntelliJ IDEA(我目前在 14 上)运行嵌入式 Spring Boot 应用程序,并且您想要热重新部署资源,您可以通过以下方式执行此操作:Run -> Reload changed classes. 非常推荐设置键盘快捷键。

不要被Loaded classes are up to date. Nothing to reload.消息所迷惑。您的静态资源已更新(在.js文件和 Thymeleaf 模板上进行了测试)。

正如对 thymeleaf 模板热重新部署的评论中指出的那样,您需要:

spring.thymeleaf.cache=false

如果您在外部容器中运行,IntelliJ 提供了额外的功能,例如Frame deactivation对 Web 开发非常方便的操作。这也很好用,只是要注意 9.2.7 上的外部 Jetty 容器会引起麻烦,即在Update resources破坏您的 webapp 时卸载资源。唯一的解决方法是对我来说重新启动应用程序。不过在 Tomcat 8 中运行良好。

于 2015-03-19T09:36:21.960 回答
5

按照此处的说明,添加spring-boot-devtools依赖项将启用静态资源重新加载(模板和 css)。

请注意,您需要选择Build -> Compile它才能工作。

于 2016-02-18T08:46:39.473 回答
0
  1. 安装jetbrains-ide-support
  2. 启动您的 Spring Boot 应用程序
  3. 进入浏览器并打开 your_project_page( http://localhost:8080/ )
  4. 鼠标右键单击(在您的页面上)-> 选择“在 IDEA 中检查”
于 2015-06-09T21:13:58.433 回答