Cloud foundry 将Play Framework 2.2应用程序发布到CloudFoundry时,VMC无法检测应用程序类型

Cloud foundry 将Play Framework 2.2应用程序发布到CloudFoundry时,VMC无法检测应用程序类型,cloud-foundry,playframework-2.2,Cloud Foundry,Playframework 2.2,我正在使用一个免费的云铸造帐户。今天我尝试推我的Play 2.2应用程序,但它拒绝启动,消息是无法检测支持的应用程序类型(RuntimeError) 将应用程序部署到cloud foundry的过程如中所述 有没有人能让它工作起来 以下是完整的错误消息: Preparing to start ***... OK -----> Downloaded app package (38M) /var/vcap/packages/dea_next/buildpacks/lib/buildpack.r

我正在使用一个免费的云铸造帐户。今天我尝试推我的Play 2.2应用程序,但它拒绝启动,消息是
无法检测支持的应用程序类型(RuntimeError)

将应用程序部署到cloud foundry的过程如中所述

有没有人能让它工作起来

以下是完整的错误消息:

Preparing to start ***... OK
-----> Downloaded app package (38M)
/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:94:in `build_pack': Unable to detect a supported application type (RuntimeError)
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:72:in `block in compile_with_timeout'
from /usr/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:71:in `compile_with_timeout'
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:53:in `block in stage_application'
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in `chdir'
from /var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in `stage_application'
from /var/vcap/packages/dea_next/buildpacks/bin/run:10:in `<main>'
Checking status of app '***'...Application failed to stage
准备开始***。。。好啊
----->下载的应用程序包(38M)
/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:94:“构建包”中:无法检测受支持的应用程序类型(运行时错误)
从/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:72:in`block in compile_with_timeout'
from/usr/lib/ruby/1.9.1/timeout.rb:68:in'timeout'
from/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:71:in'compile_with_timeout'
from/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:53:in'block in stage_application'
from/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in`chdir'
from/var/vcap/packages/dea_next/buildpacks/lib/buildpack.rb:49:in'stage_application'
从/var/vcap/packages/dea_next/buildpacks/bin/run:10:in`'
正在检查应用程序“***”的状态…应用程序转移失败

编辑:我在官方邮件列表上发布了这个问题。还没有答案。但以下是重现问题的步骤:

  • 创建新的play 2.2应用程序(
    播放新版本22
  • 将cd放入应用程序目录(
    cd version22
  • 构建项目(
    playdist
  • 将应用程序推送到CloudFoundry(
    cf push--path=target/universal/version22-1.0-SNAPSHOT.zip
    )--只选择了默认值

  • 我猜这是由于新的stage和dist任务改变了应用程序的包装。这可能会导致CloudFoundry检测应用程序类型时出现问题

    您在v1或v2上的目标云铸造版本是什么

    您遇到的错误是因为cf没有用于播放的构建包框架

    如果您的目标是cloud foundry v2,请尝试以下方式推送应用程序:


    cf push--buildpack

    经过一些尝试和错误之后,我使用以下
    manifest.yml
    将其部署到cloud foundry v2上:

    ---
    env:
      JAVA_HOME: .java
    applications:
    - name: <APP_NAME>
      memory: 512M
      instances: 1
      host: <AP_HOST_NAME>
      domain: cfapps.io
      path: <PATH_TO_ZIP_FILE>
      command: ./<DIR_PACKAGE_NAME>/bin/<APP_NAME>
      buildpack: https://github.com/cloudfoundry/java-buildpack
    
    ---
    环境:
    JAVA_主页:.JAVA
    应用:
    -姓名:
    内存:512M
    实例:1
    主持人:
    域名:cfapps.io
    路径:
    命令:.//bin/
    构建包:https://github.com/cloudfoundry/java-buildpack
    
    您必须为您的应用程序填写信息,并配置其他信息,但核心解决方案是提供
    JAVA_HOME
    env变量和start命令的正确路径

    也许我们应该考虑SBT任务来创建这个文件作为永久性修复,或者更新java构建包…我不确定哪一个是最好的方法


    编辑:您还需要在
    /start
    中放置一个名为start的脚本,否则cloud foundry将尝试编译该应用程序,但失败惨重-我想这也需要在java buildpack中修复。

    这已经被解决。应该很快就会解决。

    似乎是一个问题,只有在播放2.2时才会出现。我将应用程序移植到2.1.5和2.0.8。在play 2.2.0和任何cloud foundry变体中的同一问题上,它的工作方式就像一个角色一样。cloud foundry Java buildpack中的play 2.2支持在10月底得到了修复:。