И така, категоричният отговор е:
Първо, има грешка в URL адреса на базата данни, трябва да е db.default.url="jdbc:postgresql://localhost:5432/playdb"
както chabeee посочи
. Това е единственият правилен формат за db.default.url
(така че няма jdbc:postgresql://username:pasword:localhost/dbname
или подобно, както видях да се предлага на други места).
Второ, по-сложното е, че има грешка в драйвера, както Салем посочи
и заобиколно решение е добавянето на 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 или нищо, което очевидно означава, че е предназначено за най-новата версия на Java (не съм намери нещо в подкрепа на това твърдение, но работи). Още веднъж през февруари 2017 г. те промениха схемата на версиите отново
и скочи от основна версия 9 на 42, което прави текущата версия (от 17 юли 2017 г.) обозначена с "org.postgresql" % "postgresql" % "42.1.3"
(или, съответно, "org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)