Heroku/Play エキスパートの皆様
Heroku と Play 2.0 (Java を使用) は初めてで、最初の db-backed Heroku アプリを起動して実行しようとしています (学習目的で zentask アプリを使用しています)。私は、stackoverflow と @James Ward の Play2torial に関する関連ドキュメントを非常に徹底的に読んでいますが、私が抱えている問題の解決策を見つけることができないようです:
ファイルを Heroku にプッシュすると、Heroku にインストールされていないかのように、postgres ドライバーに対して常に「ドライバーが見つかりません」というエラーが表示されます。専門家であるあなたが解決策として提案したことはほとんどすべて試しましたが、何もうまくいきませんでした。lib
欠落を補うためにjdbcドライバーjarをフォルダーにコピーしようとしましたが、検証の欠落に関するエラーが発生しました-これは、postgres Webサイトでjdbc jar
jarが見つからなかったためである可能性があります。9.1-901-1.jdbc4
いずれにせよ、あなたの解決策は、この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=