使用 postgres 驱动程序播放光滑的数据库配置问题

kag*_*ag0 4 postgresql scala playframework slick play-slick

我正在尝试使用 slick 和 postgres 设置一个简单的 play 2.5 应用程序,但似乎无法克服错误。
我得到的错误是

[error] p.a.d.s.DefaultSlickApi - Failed to create Slick database config for key default.
slick.SlickException: Error getting instance of profile "slick.jdbc.PostgresProfile"
...
Caused by: java.lang.InstantiationException: slick.jdbc.PostgresProfile
...
Caused by: java.lang.NoSuchMethodException: slick.jdbc.PostgresProfile.<init>()
...
Run Code Online (Sandbox Code Playgroud)

我有以下内容 application.conf

slick.dbs.default {
  driver = "slick.jdbc.PostgresProfile"
  db = {
    driver = "org.postgresql.Driver"

    user = postgres
    host = localhost
    port = 5432
    password = ""

    host = ${?EVENTUAL_DB_HOST}
    port = ${?EVENTUAL_DB_PORT}
    user = ${?EVENTUAL_DB_USER}
    password = ${?EVENTUAL_DB_PW}
    url = "jdbc:postgresql://"${slick.dbs.default.db.host}":"${slick.dbs.default.db.port}"/"${slick.dbs.default.db.user}
  }
}
Run Code Online (Sandbox Code Playgroud)

这些在我的依赖项中

  "com.typesafe.play" %% "play-slick" % "2.1.0",
  "com.typesafe.slick" %% "slick-codegen" % "3.1.1",
  "com.github.tminglei" %% "slick-pg" % "0.15.0-RC", //"0.14.6",
  "org.postgresql" % "postgresql" % "42.0.0"
Run Code Online (Sandbox Code Playgroud)

如果我更改slick.dbs.default.driverslick.driver.PostgresDriver(现在显然已弃用),我会得到

[error] p.a.d.s.DefaultSlickApi - Failed to create Slick database config for key default.
slick.SlickException: Error getting instance of profile "slick.driver.PostgresDriver"
...
Caused by: java.lang.ClassNotFoundException: slick.driver.PostgresDriver
...
Run Code Online (Sandbox Code Playgroud)

我要在这里拉我的头发,找不到任何其他资源可以查看。有谁知道发生了什么?

kag*_*ag0 7

果然,在 insan-e 的推荐下,我所要做的就是添加一个$. 所以slick.dbs.default.driver应该是"slick.jdbc.PostgresProfile$"