使用STS在Pivotal Cloud Foundry部署示例应用程序(Spring Boot 1.3.4、JSP、WAR打包)时出错

使用STS在Pivotal Cloud Foundry部署示例应用程序(Spring Boot 1.3.4、JSP、WAR打包)时出错,spring,spring-boot,np-spring,Spring,Spring Boot,Np Spring,我随后使用引导仪表板将部署到关键的CloudFoundry。示例应用程序是一个Spring引导应用程序(1.3.2.RELEASE),使用JSP并具有WAR打包 应用程序似乎启动正常,但随后主页是空白的。尝试cURL时,我看到了以下输出: 但是,当我使用命令行部署应用程序时: cf push np-spring-tutorial -p spring-tutorial-0.0.1-SNAPSHOT.war 应用程序已部署并运行良好 那么,部署到PWS的引导仪表板方式是否还不支持带有JSP的WA

我随后使用引导仪表板将部署到关键的CloudFoundry。示例应用程序是一个Spring引导应用程序(1.3.2.RELEASE),使用JSP并具有WAR打包

应用程序似乎启动正常,但随后主页是空白的。尝试cURL时,我看到了以下输出:

但是,当我使用命令行部署应用程序时:

cf push np-spring-tutorial -p spring-tutorial-0.0.1-SNAPSHOT.war
应用程序已部署并运行良好

那么,部署到PWS的引导仪表板方式是否还不支持带有JSP的WAR文件?在使用引导仪表板部署JSP较少的JAR文件之前,我已经尝试过了,它们工作得很好

更新:

根据Sanjay Rawat的建议,我将Spring Boot版本更新为
1.3.4
,现在还有一个
manifest.yml
,如下所示:

---
applications:
- name: np-spring-tutorial
  buildpack: https://github.com/cloudfoundry/java-buildpack.git
  path: target/spring-tutorial-0.0.1-SNAPSHOT.war
  env:
    application_url: http://np-spring-tutorial.cfapps.io
  services:
   - np-spring-tutorial-db
  timeout: 180
通过点击和试用,我注意到实际需要的唯一设置是
路径:target/spring-tutorial-0.0.1-SNAPSHOT.war

现在应用程序正在运行,我可以看到页面了。但是,启动应用程序时,控制台上会出现以下错误:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/vcap/app/WEB-INF/lib/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/vcap/app/WEB-INF/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
使用-

运行以下命令:

cf push webAppSpaceName-p spring-boot-sample-tomcat-jsp-1.3.3.RELEASE.war-bhttps://github.com/cloudfoundry/java-buildpack.git

因为您使用的是Spring-Boot-1.3.2.RELEASE,所以您可能会遇到这个问题

更新:

有关构建包的更多信息:

构建包为应用程序提供框架和运行时支持。构建包通常检查用户提供的工件,以确定要下载的依赖项以及如何配置应用程序以与绑定服务通信

您不必明确提到要使用哪个Buildpack,CloudFoundry会自动检测需要哪个Buildpack,并将其安装在应用程序需要运行的Droplet Execution Agent(DEA)上。

但最好指定CF使用最新的构建包

您可以在项目中的
manifest.yml
文件中指定生成包,然后使用仪表板进行部署:

buildpack:https://github.com/cloudfoundry/java-buildpack


但是,CF CLI有更多的选项和功能。

它是Spring引导应用程序吗?如果是,一定要提到启动版本号。是的,这是一个Spring启动应用程序。该版本为1.3.2.0版本。(更新了问题)正如我在问题中提到的,war似乎正在工作。你的命令比这更好吗?那么,
Boot Dashboard
是否还不支持带有JSP的WAR?Boot Dashboard与WAR支持无关。它只是CF CLI的一个插件,可以简化部署。尽管它没有提供CLI所提供的所有选项和功能<代码>-bhttps://github.com/cloudfoundry/java-buildpack.git为您的应用程序定义一个构建包,您也可以在项目中的
manifest.yml
文件中定义该构建包。您遇到的错误/问题与项目配置有关,请查看我提到的问题。更新了我的答案,以获取有关构建包的更多信息。PS:我在PCF Dev中测试并部署了此应用程序,它工作正常。您是否使用了STS的引导仪表板?是的,我只是尝试了引导仪表板方式。它也工作得很好。正如我所说,使用
manifest.yml
文件,就像一个。