我一直在用Spring Boot做POC.
到目前为止,它一直很好,很有前途,但有一个主要缺点:我使用的是嵌入式服务器(即将Web应用程序打包在一起.jar),所以在开发时我必须重建jar并每次重新启动服务器更改CSS,HTML或JS文件.没有热插拔.这确实减慢了UI开发速度.
我可以想到几个快速修复,例如从不同的域加载静态资源并从本地提供静态资源nginx,以及更多这样的变体,但是在使用IntelliJ/Eclipse时没有某种类型的内置选项?
在构建我的第一个Spring Boot应用程序时,我发现每次在/resources/static/some-file.js中更改Javascript文件时都需要重新启动我的应用程序
这非常耗时.
当我将文件移动到/ webapps /文件夹时,它按预期工作,但文件未打包在JAR中.文档提到了这一点,所以我无法继续这样做.
我阅读了所有内容spring-boot-devtools,并将其安装在我的POM中,但是hotswapping并没有接缝工作.我仍然需要重新启动整个应用程序以查看Javascript或CSS文件更改.
当应用程序启动时,我可以看到该行LiveReload server is running on port 35729,所以spring-boot-devtools必须做某事......
进一步调查出现问题的步骤是什么?
我的猜测是,当IntelliJ运行应用程序时,文件被复制,所以当我进行更改时,我实际上是在更改原始文件而不是正在运行的应用程序使用的文件.
PS:我正在使用嵌入式Tomcat服务器的Maven,IntelliJ IDEA 15和Spring Boot 1.3.3.我不确定IntelliJ运行什么命令来启动应用程序.IDE正在"自动"处理此问题.也许我需要改变我的运行配置?
我正在通过 Maven 使用 Spring Boot 和 Thymeleaf。当我进行更改时,我似乎无法让 Netbeans 自动重新部署我的任何 Thymeleaf 模板文件。为了查看更改,我需要进行完整的清理/构建/运行。这需要太长时间。
模板在src/main/resources/templates. 我在 src/main/resources/ 中有一个 application.properties 文件,带有spring.thymeleaf.cache=false和spring.template.cache=false。
我在项目设置中打开了“保存时编译”、“保存时复制资源”和“保存时部署”。
我的 Maven 构建生成了一个战争文件,Netbeans 将其部署到 Tomcat,我正在使用注释@EnableAutoConfiguration。
Netbeans会热部署对 Java 类的更改,但不会对 src/main/resources/ 中的任何静态文件进行热部署。
使用中的软件:
非常感谢任何指导。