4

これは私のapplication.confです:

db.default.driver=org.postgresql.Driver  
db.default.url="postgres://postgres:postgres@localhost:5432/postgres"
db.default.user="postgres"
db.default.password= "postgres"

postgresql-9.1-902.jdbc4.jar をダウンロードしました。外部jarとして追加して、jarファイルに含めました。それでも、ドライバーが見つからないというこのエラーが表示されます。ヘルプ?

4

2 に答える 2

6

結局のところ、PostgreSQLドライバーは実際にはクラスパスに含まれていないと思いますが、エラーメッセージの正確なテキストが表示されていないため、確認するのは困難です。(a)完全なエラーメッセージとトレースバックの正確にコピーして貼り付けたテキストを表示できれば便利です。(b)PgJDBCjarを配置した場所を正確に示します。

System.getProperty("java.class.path")アプリの起動時にコンテンツを出力するデバッグコードを追加することを検討してください。また、次のようなことを行うブロックを追加します。

try {
    Class.forName("org.postgresql.Driver")
} catch (ClassNotFoundException ex) {
    // Log or abort here
}

これにより、クラスの可視性について何かがわかります。最新のJVMおよびフレームワークでのクラスのロードは複雑であるため、決定的なものにはなりません。クラスのローダーが多すぎます。

于 2012-08-20T01:36:26.977 に答える
6

プロジェクトでpostgresql 9.1-901.jdbc4を使用しており、次のように構成しました。

Build.scala:

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {

    val appName         = "project_name"
    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      // Add your project dependencies here,
      "postgresql" % "postgresql" % "9.1-901.jdbc4"
    )

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
      // Add your own project settings here  
    )

}

アプリケーション.conf

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/project_name"
db.default.user=postgres
db.default.password=mypw
db.default.partitionCount=1
db.default.maxConnectionsPerPartition=5
db.default.minConnectionsPerPartition=5

次に、使用するときに次のコンボを使用しました。

play clean
play compile
play eclipsify
play ~run

play dependenciesまたは、この後に入力して、正しくロードされているかどうかを確認することもできます。

于 2012-08-24T18:29:52.337 に答える