使用Spring Boot+;IntelliJ
我们有一个基于Spring Boot的产品,并通过嵌入式Tomcat通过可执行war部署,但在开发过程中,我们采用了在托管Tomcat上开发的方法,因此我们的IDE(主要是IntelliJ)将具有热插拔/重新部署支持(而不是循环整个应用程序,这需要一段时间才能启动) 我们最近在我们的项目中添加了使用Spring Boot+;IntelliJ,spring,tomcat,intellij-idea,spring-boot,Spring,Tomcat,Intellij Idea,Spring Boot,我们有一个基于Spring Boot的产品,并通过嵌入式Tomcat通过可执行war部署,但在开发过程中,我们采用了在托管Tomcat上开发的方法,因此我们的IDE(主要是IntelliJ)将具有热插拔/重新部署支持(而不是循环整个应用程序,这需要一段时间才能启动) 我们最近在我们的项目中添加了springbootstarterwebsocket,托管的Tomcat的类加载器使用嵌入式Tomcat的资源时遇到了问题,并且出现了问题。我们可以通过使用概要文件并将嵌入的lib标记为提供的,,这样就只
springbootstarterwebsocket
,托管的Tomcat的类加载器使用嵌入式Tomcat的资源时遇到了问题,并且出现了问题。我们可以通过使用概要文件并将嵌入的lib标记为提供的,
,这样就只有我们的CI构建包含它们,但这样做很容易出错,最多也会有黑客行为
因此,我的问题是:有更好的方法吗?使用Maven插件或runnable类会带来问题,因为Maven插件不会进行热交换,runnable类在查找类路径(如JSP)时遇到问题(希望我们事先切换到Thymeleaf,但下次;) “更好”开发周期的要求是:
谢谢 重新加载类不再需要tomcat。使用SpringBoot1.2,您可以调试maven目标SpringBoot:run并重新加载类。
这在intellij中对我很有用。您试用过spring工具套件吗?它非常适合于spring应用程序,特别是spring boot。是的,我们喜欢STS,并且有一些人在使用它。我现在非常喜欢IntelliJ,因为它有非常棒的数据库工具。我刚刚尝试了这个工具,并且工作正常,但是我无法设置断点/使用IDE进行调试。您必须手动配置调试器吗?不,我只是有一个常规的spring boot maven项目,在构建部分添加了spring boot插件。然后启动spring引导:在调试模式下运行目标。然后我可以在代码中设置断点。@PatrickCornelissen您在Windows上吗?因为在Linux上,存在一个关于可执行gradle/maven任务引导运行的pid的问题。它通过fork生成子进程,当您从IDEA停止任务时,它会停止父进程,而不是子进程。因此,端口仍然被它阻塞,当您运行主类时,您必须手动终止它。intelliJ不使用gradle/maven来运行它。但是,即使在使用maven/gradle时,到目前为止,我还没有遇到旧java进程的任何问题,但我正在使用Mac。我再也受不了窗户了;-)