【问题标题】:Can't run Play app on heroku无法在 heroku 上运行 Play 应用
【发布时间】:2014-01-24 09:03:21
【问题描述】:

我使用以下 Procfile 在 Heroku 上部署了一个 Play 2.2.1 应用程序:

网络:target/universal/stage/bin/{MY-APP-NAME} -Dhttp.port=${PORT} -DapplyEvolutions.default=true

我不明白,我总是同样的错误:

bash: target/universal/stage/bin/{MY-APP-NAME}: 没有这样的文件或目录

这里是我的 heroku 配置:

JAVA_OPTS:                  -Xmx384m -Xss512k -XX:+UseCompressedOops
PATH:                       .jdk/bin:.sbt_home/bin:/usr/local/bin:/usr/bin:/bin
REPO:                       /app/.sbt_home/.ivy2/cache
SBT_OPTS:                   -Xmx384m -Xss512k -XX:+UseCompressedOops

我不知道该怎么做,请问有人有想法吗?

感谢您的回复。

【问题讨论】:

    标签: java heroku playframework-2.0


    【解决方案1】:

    运行:sbt clean 阶段

    -创建target/universal/stage/bin/{MY-APP-NAME}

    检查 build.sbt 以确保您的应用程序名称并在 Procfile 中修改它

    最终 git push ...

    【讨论】:

      【解决方案2】:

      由于我遇到了同样的问题,我只是想分享一下我是如何解决的。

      所以如果你像我一样使用sub-projects,你必须调整你的Procfile。如果您在文件夹 server 中有一个名为 server 的子项目,您的 Procfile 应该如下所示:

      web: server/target/universal/stage/bin/server -Dhttp.port=${PORT}
      

      【讨论】:

        【解决方案3】:

        {MY-APP-NAME} 替换为您的应用名称。例如,如果您的应用被称为foo,那么它应该是:

        web: target/universal/stage/bin/foo -Dhttp.port=${PORT} -DapplyEvolutions.default=true
        

        您的应用名称在build.sbt 文件中声明,例如:

        name := "foo"
        

        【讨论】:

        • 是的,我知道,例如,我用 {MY-APP-NAME} 替换我的应用程序的名称。
        • 问题是名为“universal”的文件夹不存在。
        • 当你推送到 Heroku 时,你看到了什么?你看到这个了吗? $ git push heroku master -----> 玩!检测到应用
        • 我回答有点晚了抱歉。我是 Play 的初学者,我不知道 Play 使用 sbt 进行依赖管理,所以我将 maven 放在项目中,当 Heroku 检测到 pom.xml 时,他认为这是一个 Java 应用程序。我删除了 Maven,现在它可以工作了。感谢您的帮助。
        • 嗨@JamesRoper 我尝试了所有可能的方式将我的游戏应用程序部署到heroku,但我无法在Heroku 上启动和运行它。我尝试了您在帖子中所说的内容,但仍然没有运气。
        猜你喜欢
        • 1970-01-01
        • 2020-06-28
        • 2015-11-30
        • 2015-10-20
        • 2015-02-26
        • 1970-01-01
        • 1970-01-01
        • 2018-12-03
        • 2015-01-25
        相关资源
        最近更新 更多