Så det entydige svar er:
For det første er der en fejl i databasens url, den skal være db.default.url="jdbc:postgresql://localhost:5432/playdb"
som chabeee påpegede
. Det er det eneste korrekte format for db.default.url
(så ingen jdbc:postgresql://username:pasword:localhost/dbname
eller lignende, som jeg har set foreslå andre steder).
For det andet, mere vanskeligt, er, at der er en fejl i driveren, som Salem påpegede
og løsningen er at tilføje db.default.hikaricp.connectionTestQuery = "SELECT 1"
til application.conf
.
Den fejl er dog rettet (godt, den løsning er implementeret) i versioner, der er nyere end 9.1-903
. Fangsten er efter version 9.1-901
postgresql ændrede sit gruppe-id i reposen, og nu er det refereret af org.postgresql
. En bedre løsning end løsningen ville være at opdatere afhængigheder til "org.postgresql" % "postgresql" % "9.4-1206-jdbc4"
(nuværende version
, MVNrepository
). Tilføj den relevante jdbc-version til den seneste PostgreSQL-driver (4
for Java 6, 41
for Java 7, 42
til Java 8).
Min sidste 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"
Og libraryDependencies
i build.sbt
:
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
OPDATERING 2017: Jeg har først nu bemærket, at de ikke længe efter at have skrevet dette svar ændrede versionsskemaet og fjernede -jdbc[code]-fragmentet og erstattede det med .jre6, .jre7 eller ingenting, hvilket tilsyneladende betyder, at det er beregnet til den seneste Java-version (det har jeg ikke gjort) fandt noget, der understøtter denne påstand, men det virker). Endnu en gang i februar 2017 ændrede de versionsskemaet igen
og sprang fra hovedversion 9 til 42, hvilket gør den nuværende version (pr. 17. juli 2017) betegnet med "org.postgresql" % "postgresql" % "42.1.3"
(eller følgelig "org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)