我创建了一个Play应用程序,并使用
将其推送到heroku git push heroku master
工作。
然后我把它推到我的github帐户
git push -u origin master
工作。
我在应用程序中做了一个小的代码更改,它在我的本地机器上工作得很好。当我尝试使用以下步骤推到Heroku时:
git add .
git commit -m "comments"
git push heroku master
它打破了消息:
[info] Set current project to MyProjectX (in build file:/tmp/scala_buildpack_build_dir/)
java.util.NoSuchElementException: key not found: SOURCE
at scala.collection.MapLike$class.default(MapLike.scala:228)
at scala.collection.AbstractMap.default(Map.scala:58)
at scala.collection.MapLike$class.apply(MapLike.scala:141)
....
....
....
[error] (compile:managedSources) java.util.NoSuchElementException: key not found: SOURCE
[error] Total time: 2 s, completed Mar 14, 2014 9:47:42 PM
! Failed to build app with sbt
! Push rejected, failed to compile Play 2.x - Scala app
To git@heroku.com:MyProjectX.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:MyProjectX.git'
我不知道为什么当我把它推到heroku时它突然坏了。是否与github有冲突?谢谢。
在Build中用sbt.Project
代替play.Project
。Scala为我修复了它。
参见https://github.com/playframework/playframework/issues/2263#issuecomment-36190502
:
val main = play.Project(appName, appVersion, appDependencies)
:后val main = sbt.Project(id = appName, base = file("."))
.settings(
version := appVersion,
libraryDependencies ++= appDependencies
)
heroku config:set SBT_CLEAN=true应该可以解决这个问题
更多关于Heroku帮助页面