PCF中的Spring引导应用程序 - 线程“main”中的异常java.lang.NoClassDefFoundError:org/springframework/boot/SpringApplication

问题描述:

我正在PCF中部署REST应用程序。应用程序是在Spring工具套件(STS)IDE中使用spring引导开发的。我添加了云代工插件,并将应用程序添加到STS的PCF中。它给了我一个启动错误。PCF中的Spring引导应用程序 - 线程“main”中的异常java.lang.NoClassDefFoundError:org/springframework/boot/SpringApplication

我试图提供通过互联网的所有选项,即使这样结束了以下错误螺纹

异常“主要” java.lang.NoClassDefFoundError:组织/ springframework的的/ boot/SpringApplication

我也检查了我快照jar,它在包含SpringApplication类的lib文件夹中具有依赖项jar。

一个奇怪的事情是,我的应用程序启动并工作正常,当我从CLI

推应用PCF我失去了在STS什么?

Cloud Foundry Tools(CFT)插件在打包Spring Boot jar应用程序时存在一些已知问题,目前这些应用程序正在为即将发布的CFT版本进行修复。

这就是说,在某些情况下,在部署应用程序之前,从Eclipse Package Explorer刷新Spring Boot项目(通常为F5),以及从Package Explorer上下文菜单中执行Maven - > Update Project,可能会解决NoClassDefFoundError问题。

但是,使用CFT将Spring Boot部署到Cloud Foundry的替代方案是Spring Boot Dashboard视图,该视图更好地支持打包Spring Boot应用程序。

它在Spring Tool Suite(STS)3.7.1或更高版本中可用。

您可以在Boot Dashboard视图中创建一个PCF目标,并简单地拖放您的Spring Boot项目以部署它。

下面是春季启动仪表板教程:

https://spring.io/blog/2015/10/15/the-spring-boot-dashboard-in-sts-part-2-working-with-cloud-foundry

您可以找到最新的STS分布构建包含春节引导仪表板视图在这里:

http://dist.springsource.com/snapshot/STS/nightly-distributions.html