作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我一直在用 Spring Boot 做 P.O.C。
到目前为止,它的发展非常好并且很有希望,但有一个主要缺点:我使用的是嵌入式服务器(即将 Web 应用程序打包在 .jar
中),所以在开发时我每次更改 CSS、HTML 或 JS 文件时都必须重建 jar 并重新启动服务器。没有热插拔。这确实减慢了 UI 开发。
我可以想到几个快速修复,例如从不同的域加载静态资源并从本地 nginx
提供它,还有一些类似这样的变体,但没有内置的-在使用 IntelliJ/Eclipse 时可以选择某种方式?
最佳答案
有多种选择。在 IDE 中运行(尤其是在调试时)是一种很好的开发方式(所有现代 IDE 都允许重新加载静态资源,并且通常还允许热交换 Java 类更改)。 Spring Boot devtools 是一种获得相当大提升的廉价方法(只需将其添加到您的类路径中)。当检测到更改时,它通过在热 JVM 中重新启动您的应用程序来工作。它还会在运行时关闭 thymeleaf 缓存之类的东西,因此您不必记住自己这样做。如果您使用更高级别的工具编写该代码,则可以将其与外部 css/js 编译器进程一起使用。
Spring Loaded不再推荐,但可能仍在使用。如果您需要零延迟的热交换(例如 JRebel),更复杂的基于代理的工具会更好地工作。
见 docs一些最新的内容
关于java - Spring Boot 中的热插拔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21399586/
我是一名优秀的程序员,十分优秀!