したがって、明確な答えは次のとおりです。
まず、データベースのURLに誤りがあります。これは、db.default.url="jdbc:postgresql://localhost:5432/playdb"
である必要があります。 chabeeeが指摘したように
。 db.default.url
の唯一の正しい形式です (したがって、jdbc:postgresql://username:pasword:localhost/dbname
はありません または同様のもの、私が他の場所で提案しているのを見たように)。
次に、もっと注意が必要なのは、Salemが指摘した
ようにドライバーにバグがあることです。 回避策は、db.default.hikaricp.connectionTestQuery = "SELECT 1"
を追加することです。 application.conf
へ 。
ただし、そのバグは9.1-903
よりも新しいバージョンで修正されています(回避策が実装されています)。 。キャッチは、バージョン9.1-901
以降です postgresqlはリポジトリ内のgroupIDを変更し、org.postgresql
によって参照されるようになりました 。回避策よりも優れた解決策は、依存関係を"org.postgresql" % "postgresql" % "9.4-1206-jdbc4"
に更新することです。 (現在のバージョン
、 MVNrepository
)。適切なjdbcバージョンを最新のPostgreSQLドライバー(4
)に追加します Java 6の場合、41
Java 7の場合、42
Java 8の場合)。
私の最後のapplication.conf
:
db.default.driver="org.postgresql.Driver"
db.default.url="jdbc:postgresql://localhost/playdb" #the port is optional
db.default.username="luka"
db.default.password="test"
そしてlibraryDependencies
build.sbt
内 :
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
2017年の更新: この回答を書いてから間もなく、バージョン管理スキームが変更され、-jdbc [code]フラグメントが削除され、.jre6、.jre7、または何も置き換えられなかったことに気づきました。この主張を裏付けるものは何でも見つかりましたが、機能します)。さらに2017年2月に、彼らはバージョンスキームを再度変更しました
メジャーバージョン9から42にジャンプし、現在のバージョン(2017年7月17日現在)を"org.postgresql" % "postgresql" % "42.1.3"
で示します。 (または、それに応じて、"org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)