无法将Play 2.2.2应用程序部署到Heroku

时间:2014-05-02 11:57:15

标签: heroku playframework playframework-2.2

尝试将Play 2.2.2应用程序部署到Heroku时出现以下错误。

    158-37-227-60:Bachelorprosjekt Magne$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-scala.git
Creating murmuring-scrubland-2494... done, stack is cedar
BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-scala.git
http://murmuring-scrubland-2494.herokuapp.com/ | git@heroku.com:murmuring-scrubland-2494.git
158-37-227-60:Bachelorprosjekt Magne$ git push heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
158-37-227-60:Bachelorprosjekt Magne$ git remote add heroku git@heroku.com:murmuring-scrubland-2494.git
158-37-227-60:Bachelorprosjekt Magne$ git push heroku master
Initializing repository, done.
Counting objects: 627, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (254/254), done.
Writing objects: 100% (627/627), 290.28 KiB | 166.00 KiB/s, done.
Total 627 (delta 312), reused 573 (delta 286)

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

To git@heroku.com:murmuring-scrubland-2494.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:murmuring-scrubland-2494.git'

我的Procfile如下所示:

web: target/universal/stage/bin/Bachelorprosjekt -Dhttp.port=$PORT

我一直在寻找解决方案,但到目前为止,类似问题的解决方案对我没有帮助:S

更新:当我尝试部署而未指定构建包时,Heroku尝试将其部署为Play 1.2.7应用程序而不是Play 2.2.2应用程序。显然,每次部署都失败了。这是我得到的输出:

-----> Play! app detected
-----> Installing OpenJDK 1.6...done
-----> WARNING: Play! version not specified in dependencies.yml. Default version: 1.2.7 being used....
-----> Installing Play! 1.2.7.....
-----> done
-----> Installing ivysettings.xml..... done
-----> Building Play! application...
       ~        _            _ 
       ~  _ __ | | __ _ _  _| |
       ~ | '_ \| |/ _' | || |_|
       ~ |  __/|_|\____|\__ (_)
       ~ |_|            |__/   
       ~
       ~ play! 1.2.7, http://www.playframework.org
       ~
       1.2.7
       Building Play! application at directory ./
       Resolving dependencies: .play/play dependencies ./ --forProd --forceCopy --silent -Duser.home=/tmp/build_addb406e-ac10-446c-bec7-3e6c14ad98e8 2>&1
       ~ !! /tmp/build_addb406e-ac10-446c-bec7-3e6c14ad98e8/conf/dependencies.yml does not exist
 !     Failed to build Play! application
 !     Cleared Play! framework from cache

 !     Push rejected, failed to compile Play! app

To git@heroku.com:praksisreg.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:praksisreg.git'

2 个答案:

答案 0 :(得分:1)

由heroku本身作为stated,不可能在子文件夹中包含项目。

但您可以使用git子树参数将子文件夹推送到herokus根目录。

git subtree push --prefix subfoldername heroku master

有关详细信息,请参阅此Link

答案 1 :(得分:0)

解决。 Heroku无法使用当前项目结构部署我的项目。我的项目位于另一个文件夹中,并且必须位于Heroku的根级别才能成功部署应用程序。