Vì vậy, câu trả lời chắc chắn là:
Đầu tiên, có một lỗi trong url cơ sở dữ liệu, nó phải là db.default.url="jdbc:postgresql://localhost:5432/playdb"
như chabeee đã chỉ ra
. Đây là định dạng đúng duy nhất cho db.default.url
(vì vậy không có jdbc:postgresql://username:pasword:localhost/dbname
hoặc tương tự, như tôi đã thấy đề xuất ở những nơi khác).
Thứ hai, khó khăn hơn, là có một lỗi trong trình điều khiển như Salem đã chỉ ra
và giải pháp là thêm db.default.hikaricp.connectionTestQuery = "SELECT 1"
tới application.conf
.
Tuy nhiên, lỗi đó đã được sửa (tốt, cách giải quyết đó đã được triển khai) trong các phiên bản gần đây hơn 9.1-903
. Bắt là sau phiên bản 9.1-901
postgresql đã thay đổi groupID của nó trong repo và bây giờ nó được tham chiếu bởi org.postgresql
. Giải pháp tốt hơn cách giải quyết khác là cập nhật các phần phụ thuộc thành "org.postgresql" % "postgresql" % "9.4-1206-jdbc4"
( phiên bản hiện tại
, MVNrepository
). Nối phiên bản jdbc thích hợp vào trình điều khiển PostgreSQL mới nhất (4
cho Java 6, 41
cho Java 7, 42
cho Java 8).
application.conf
cuối cùng của tôi :
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"
Và libraryDependencies
trong build.sbt
:
libraryDependencies ++= Seq(
jdbc,
"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",
cache,
javaWs
)
CẬP NHẬT 2017: Bây giờ tôi mới nhận thấy rằng không lâu sau khi viết câu trả lời này, họ đã thay đổi lược đồ lập phiên bản và xóa đoạn -jdbc [code], thay thế nó bằng .jre6, .jre7 hoặc không có gì, rõ ràng có nghĩa là nó dành cho phiên bản Java mới nhất (tôi chưa tìm thấy bất cứ điều gì hỗ trợ cho tuyên bố này, nhưng nó hoạt động). Tuy nhiên, một lần nữa vào tháng 2 năm 2017, họ lại thay đổi lược đồ phiên bản
và tăng từ phiên bản chính 9 lên 42, làm cho phiên bản hiện tại (kể từ ngày 17 tháng 7 năm 2017) được ký hiệu là "org.postgresql" % "postgresql" % "42.1.3"
(hoặc, theo đó, "org.postgresql" % "postgresql" % "42.1.3.jre7"
/ "org.postgresql" % "postgresql" % "42.1.3.jre6"
)