我有一个基于play-scala Typesafe 模板 (Play Scala Seed)的 Play Application ,并尝试将 Slick 3.0.0 添加到项目中并连接到 PostgreSQL 数据库。
首先,我将依赖项添加到build.sbt
:
libraryDependencies ++= Seq(
"com.typesafe.slick" %% "slick" % "3.0.0-RC1",
"postgresql" % "postgresql" % "9.1-901.jdbc4"
)
然后在以下位置添加数据库配置application.conf
:
brDb = {
dataSourceClass = org.postgresql.ds.PGSimpleDataSource
url = "jdbc:postgresql://localhost:5432/test"
user = "postgres"
password = "postgres"
numThreads = 10
}
请注意,我没有明确禁用池,因此默认启用它,并将尝试使用 HikariCP,因为从 Slick 3.0.0 RC1 开始,存在 HikariCP 支持,并且默认启用使用它的池。
在我的 DAO 对象中,尝试像这样获取数据库连接:
Database.forConfig("brDb")
当我使用 运行应用程序时activator run
,我收到此错误:
RuntimeException:java.lang.NoClassDefFoundError:com/zaxxer/hikari/HikariConfig
然后我尝试将 HikariCP 添加为依赖项build.sbt
:
libraryDependencies ++= Seq(
// ...
"com.zaxxer" % "HikariCP" % "2.3.3",
// ...
)
使用 清理并重新编译应用程序activator clean compile
,然后再次运行它,但我收到另一个错误:
RuntimeException:java.lang.UnsupportedClassVersionError:com/zaxxer/hikari/HikariConfig
我想我缺少一些配置,但我不确定,也没有找到更多关于它的信息。我应该如何设置配置以使连接池正常工作?