【发布时间】:2015-03-07 00:28:01
【问题描述】:
我们有一个构建在 Spring Boot 之上的产品,并通过嵌入式 Tomcat 通过可执行战争进行部署,但在开发过程中,我们采用了在托管 Tomcat 上开发的方法,因此我们的 IDE(主要是 IntelliJ)将具有热插拔/重新部署支持(而不是循环我们的整个应用程序,这需要一段时间才能启动)。
我们最近在我们的项目中添加了spring-boot-starter-websocket,并且在使用嵌入式 Tomcat 的资源时遇到了托管 Tomcat 的类加载器的问题,并且出现问题。我们可以通过使用配置文件并将嵌入的库标记为provided 来解决它,这样只有我们的 CI 构建包含它们,但它最容易出错和 hacky。
所以,我的问题是:有没有更好的做事方式? 使用 Maven 插件或可运行类会带来问题,因为 maven 插件不会热插拔,而可运行类有寻找 JSP 之类的类路径的问题(希望我们事先切换到 Thymeleaf,但下次;)
“更好”的开发周期的要求是:
代码热插拔 - 也就是在开发时不必重新启动应用程序/服务器(除了更改方法签名等)
良好的工具支持
简单、可重复的设置——几乎是“检查并运行”
谢谢!
【问题讨论】:
-
你试用过spring Tool Suite吗?它非常适合 spring 应用程序,特别是 spring boot。
-
是的,我们喜欢 STS 并且有几个人在使用它。我现在非常喜欢 IntelliJ,因为它也有非常棒的数据库工具
标签: spring tomcat intellij-idea spring-boot