gpt4 book ai didi

java - Spring Boot devtools - 静态内容重新加载在 IntelliJ 中不起作用

转载 作者:IT老高 更新时间:2023-10-28 13:45:47 28 4
gpt4 key购买 nike

在构建我的第一个 Spring Boot 应用程序时,我发现每次更改/resources/static/some-file.js 中的 Javascript 文件时都需要重新启动应用程序

这非常耗时。

当我将文件移动到/webapps/文件夹时,它按预期工作,但文件未打包在 JAR 中。文档提到了这一点,所以我不能继续这样下去。

我阅读了所有关于 spring-boot-devtools 的信息,并已将其安装在我的 POM 中,但热交换无法正常工作。我仍然需要重新启动整个应用程序才能看到 Javascript 或 CSS 文件更改。

当应用程序启动时,我可以看到 LiveReload server is running on port 35729 行, 所以 spring-boot-devtools一定是在做点什么……

进一步调查出了什么问题的步骤是什么?

我的猜测是,当 IntelliJ 运行应用程序时,文件会被复制,所以当我进行更改时,我实际上是在更改原始文件,而不是正在运行的应用程序使用的文件。

PS:我将 Maven、IntelliJ IDEA 15 和 Spring Boot 1.3.3 与嵌入式 Tomcat 服务器一起使用。我不确定 IntelliJ 运行什么命令来启动应用程序。 IDE 正在“自动”处理这个问题。也许我需要更改我的运行配置?

最佳答案

您需要在 IntelliJ 中打开一些功能才能完成这项工作。

首先,有一个项目特定的设置,您需要将其应用于您想在其中使用 devtools 的任何项目。转到 Preferences > Compiler 并启用“Make project automatically”。

下一个设置是适用于所有项目的 IDEA 注册表设置。

  • 在 macOS (OSX) 中,按 Shift+Command+A(在 Windows 中为 Shift+Ctrl+A)
  • 在出现的搜索框中输入“注册表”,然后选择注册表将其打开。
  • 查找 compiler.automake.allow.when.app.running 并启用它。

之后,重新启动您的应用。您会注意到项目会随着您所做的每一次更改而不断重建。当您在浏览器中查看结果时,您会看到静态文件和代码都已更新。

关于java - Spring Boot devtools - 静态内容重新加载在 IntelliJ 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35895730/

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