我有一个Play框架2.1.1 java app,它在localhost上运行良好。
我想将它部署到Heroku,所以我跟着these instructions
一切顺利,直到我进入这一行:
$ git push heroku master
当我在CMD中输入此行时,我在结尾处收到以下错误:
remote: [info] Compiling 1 Scala source to /tmp/scala_buildpack_build_dir
/.sbt_home/plugins/target/scala-2.9.2/sbt-0.12/classes...
remote: [error] error while loading CharSequence, class file '/tmp/scala_
buildpack_build_dir/.jdk/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken
remote: [error] (bad constant pool tag 18 at byte 10)
remote: [error] error while loading Comparator, class file '/tmp/scala_bu
ildpack_build_dir/.jdk/jre/lib/rt.jar(java/util/Comparator.class)' is broken
remote: [error] (bad constant pool tag 18 at byte 20)
remote: [error] two errors found
remote: [error] (compile:compile) Compilation failed
remote: Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
remote: ! ERROR: Failed to run sbt!
remote: We're sorry this build is failing! If you can't find the issue in
application
remote: code, please submit a ticket so we can help: https://help.heroku.
com
remote: You can also try reverting to the previous version of the buildpa
ck by running:
remote: $ heroku buildpacks:set https://github.com/heroku/heroku- buildpac
k-scala#previous-version
remote:
remote: Thanks,
remote: Heroku
remote:
remote:
remote: ! Push rejected, failed to compile Play 2.x - Java app
remote:
remote: Verifying deploy....
remote:
remote: ! Push rejected to project.
remote:
To https://git.heroku.com/project.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/project.git'
我真的不知道该怎么办,有人可以帮我吗?
由于
答案 0 :(得分:4)
看起来您正在尝试部署使用Scala 2.9的应用程序,该应用程序不支持Java 8.但是Java 8是Heroku的默认设置。
尝试将system.properties文件添加到应用的根目录,并将以下代码放入其中:
sortedResultsUsingProperty(..)
然后将文件添加到您的Git仓库并重新部署,如下所示:
java.runtime.version=1.7