И така, категоричният отговор е:
Първо, има грешка в 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" )