在构建第一个Spring Boot应用程序时,我发现每次对/resources/static/some- file.js中的Javascript文件进行更改时,都需要重新启动应用程序
这非常耗时。
当我将文件移动到/ webapps /文件夹时,它可以按预期工作,但是文件未打包在JAR中。文档中提到了这一点,所以我无法继续这种方式。
我已经阅读了所有有关的内容spring-boot- devtools,并已将其安装在我的POM中,但是热插拔无法正常工作。我仍然需要重新启动整个应用程序才能看到Javascript或CSS文件更改。
spring-boot- devtools
当应用启动时,我可以看到该行LiveReload server is running on port 35729,因此spring-boot- devtools必须做点什么…
LiveReload server is running on port 35729
进一步调查出了什么问题的步骤是什么?
我的猜测是,当IntelliJ运行该应用程序时,文件会被复制,因此当我进行更改时,实际上是在更改原始文件,而不是正在运行的应用程序使用的文件。
PS:我将Maven,IntelliJ IDEA 15和Spring Boot 1.3.3与嵌入式Tomcat服务器一起使用。我不确定IntelliJ运行什么命令来启动应用程序。IDE正在“自动”处理此问题。也许我需要更改运行配置?
您需要打开IntelliJ中的几个功能才能使其工作。
首先,有一个特定于项目的设置,您需要将其应用于要在其中使用devtools的任何项目。转到“首选项”>“编译器”并启用“自动创建项目”。
下一个设置是适用于所有项目的IDEA注册表设置。
Shift+Command+A
Shift+Ctrl+A
之后,重新启动您的应用程序。您会注意到,您所做的每一个更改都会使项目不断重建。在浏览器中签出结果时,您将看到静态文件和代码均已更新。