1

Heroku/Play エキスパートの皆様

Heroku と Play 2.0 (Java を使用) は初めてで、最初の db-backed Heroku アプリを起動して実行しようとしています (学習目的で zentask アプリを使用しています)。私は、stackoverflow と @James Ward の Play2torial に関する関連ドキュメントを非常に徹底的に読んでいますが、私が抱えている問題の解決策を見つけることができないようです:

ファイルを Heroku にプッシュすると、Heroku にインストールされていないかのように、postgres ドライバーに対して常に「ドライバーが見つかりません」というエラーが表示されます。専門家であるあなたが解決策として提案したことはほとんどすべて試しましたが、何もうまくいきませんでした。lib欠落を補うためにjdbcドライバーjarをフォルダーにコピーしようとしましたが、検証の欠落に関するエラーが発生しました-これは、postgres Webサイトでjdbc jarjarが見つからなかったためである可能性があります。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=
4

1 に答える 1

5

素晴らしい Heroku サポート チームのおかげで、解決策を提供できます。PlayProject で appDependencies を指定していなかったようです。そのため、次のように Build.scala の PlayProject に appDependencies を追加する必要がありました。

val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA)

これが同じ問題に遭遇したすべての人に役立つことを願っています:)

乾杯、オラシオ

于 2012-11-26T22:30:08.147 に答える