【发布时间】:2012-11-11 08:58:43
【问题描述】:
尊敬的 Heroku/Play 专家,
我是 Heroku 和 Play 2.0(使用 Java)的新手,我正在尝试启动并运行我的第一个由 db 支持的 Heroku 应用程序(我正在使用 zentask 应用程序进行学习)。我一直在非常彻底地阅读有关 stackoverflow 和 @James Ward 的 Play2torial 的相关文档,但似乎无法找到解决我遇到的问题的方法:
将我的文件推送到 Heroku 时,我总是收到 postgres 驱动程序的“找不到驱动程序”错误 - 就好像它没有安装在 Heroku 上一样。我已经尝试了您专家提出的所有解决方案,但没有任何效果。我什至尝试将 jdbc 驱动程序 jar 复制到 lib 文件夹中以弥补缺少的 jdbc jar 但随后我收到一些关于缺少验证的错误 - 这可能是因为我在 postgres 上找不到 9.1-901-1.jdbc4 的 jar网站。无论如何,您的解决方案表明这个 postgres 驱动程序应该作为 Heroku 的标准设置开箱即用,所以我有点沮丧......
因此,请在下面找到“找不到驱动程序错误”以及所涉及的文件和生成的错误消息。
我会非常非常感谢您的建议。提前非常感谢!最好的,
奥拉西奥
这是我的文件:
Procfile:
web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -Dconfig.resource=application.conf
Build.scala:
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "Myapp"
val appVersion = "1.0"
val main = PlayProject(appName, appVersion, mainLang = JAVA)
val appDependencies = Seq(
"postgresql" % "postgresql" % "9.1-901-1.jdbc4"
)
}
application.conf:
application.name=myapp
application.secret="some secret"
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://some URL"
ebean.default="models.*"
logger=ERROR
logger.play=INFO
logger.application=DEBUG
错误信息:
2012-11-23T17:39:35+00:00 heroku[web.1]: State changed from crashed to starting
2012-11-23T17:39:41+00:00 heroku[web.1]: Starting process with command `target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -Dconfig.resource=application.conf`
2012-11-23T17:39:42+00:00 app[web.1]: Play server process ID is 2
2012-11-23T17:39:43+00:00 app[web.1]: Oops, cannot start the server.
2012-11-23T17:39:43+00:00 app[web.1]: Configuration error: Configuration error [Driver not found: [org.postgresql.Driver]]
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.Configuration.reportError(Configuration.scala:258)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPApi.play$api$db$BoneCPApi$$register(DB.scala:283)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPApi$$anonfun$4.apply(DB.scala:386)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPApi$$anonfun$4.apply(DB.scala:390)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.immutable.Set$Set1.foreach(Set.scala:86)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPPlugin.play$api$db$BoneCPPlugin$$dbApi(DB.scala:211)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPPlugin.onStart(DB.scala:240)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.Play$$anonfun$start$1.apply(Play.scala:60)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.immutable.Set$Set1.map(Set.scala:73)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.immutable.Set$Set1.scala$collection$SetLike$$super$map(Set.scala:73)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.SetLike$class.map(SetLike.scala:93)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPApi.<init>(DB.scala:386)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.Play$$anonfun$start$1.apply(Play.scala:60)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.Play$.start(Play.scala:60)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.StaticApplication.<init>(ApplicationProvider.scala:51)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:153)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.server.NettyServer$.main(NettyServer.scala:152)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.collection.immutable.List.foreach(List.scala:45)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.server.NettyServer$.createServer(NettyServer.scala:132)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:152)
2012-11-23T17:39:43+00:00 app[web.1]: at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
2012-11-23T17:39:43+00:00 app[web.1]: at scala.Option.map(Option.scala:133)
2012-11-23T17:39:43+00:00 app[web.1]: at play.core.server.NettyServer.main(NettyServer.scala)
2012-11-23T17:39:43+00:00 app[web.1]: Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver
2012-11-23T17:39:43+00:00 app[web.1]: at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
2012-11-23T17:39:43+00:00 app[web.1]: at java.security.AccessController.doPrivileged(Native Method)
2012-11-23T17:39:43+00:00 app[web.1]: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
2012-11-23T17:39:43+00:00 app[web.1]: ... 24 more
2012-11-23T17:39:43+00:00 app[web.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
2012-11-23T17:39:43+00:00 app[web.1]: at java.lang.Class.forName(Class.java:264)
2012-11-23T17:39:43+00:00 app[web.1]: at play.api.db.BoneCPApi.play$api$db$BoneCPApi$$register(DB.scala:281)
2012-11-23T17:39:43+00:00 app[web.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
2012-11-23T17:39:43+00:00 app[web.1]: at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
2012-11-23T17:39:43+00:00 app[web.1]: at java.lang.Class.forName0(Native Method)
2012-11-23T17:39:44+00:00 heroku[web.1]: Process exited with status 255
2012-11-23T17:39:44+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-23T17:40:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=SOME_URL.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
【问题讨论】:
-
请链接回之前的讨论和建议的上下文。
-
当然,绝对:他们在这里:
-
您是否确保将您的
Build.scala更改提交到您的 git 存储库并将它们推送到 Heroku?另外,您能否提供错误发生时间和详细信息? -
亲爱的詹姆斯,非常感谢您的评论。我刚刚添加了错误详细信息。 Build.scala 似乎已在 git repo 中提交。我正在使用 Eclipse Heroku 插件,并且刚刚将 Heroku 上的完整 git repo 下载到了一个新文件夹中,所有文件,包括 Build.scala 都包含正确的内容......非常感谢您的帮助!跨度>
标签: java postgresql heroku playframework