gpt4 book ai didi

postgresql - 如何在 Typesafe conf 上为 Slick 3.0.0 RC1 配置 HikariCP

转载 作者:行者123 更新时间:2023-11-29 11:17:15 25 4
gpt4 key购买 nike

我有一个基于 play-scala Typesafe template (Play Scala Seed) 的 Play 应用程序, 并尝试将 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 support exists and pooling using it is enabled by default .

在我的 DAO 对象中,尝试像这样获取数据库连接:

Database.forConfig("brDb")

当我使用 activator run 运行应用程序时,出现此错误:

RuntimeException: java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariConfig

然后我尝试在 build.sbt 中添加 HikariCP 作为依赖:

libraryDependencies ++= Seq(
// ...
"com.zaxxer" % "HikariCP" % "2.3.3",
// ...
)

使用 activator clean compile 清理并重新编译应用程序,然后再次运行它,但出现另一个错误:

RuntimeException: java.lang.UnsupportedClassVersionError: com/zaxxer/hikari/HikariConfig

我想我缺少一些配置,但我不确定也没有找到更多相关信息。我应该如何设置配置以使连接池正常工作?

最佳答案

该错误意味着 HikariCP 包是为比您正在运行的 JRE 更新的 JRE 编译的。事实上,如果你look at the homepage ,你会看到你正在使用的版本是这样的:

Java 8 maven artifact:

<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.3.5</version>
<scope>compile</scope>
</dependency>

我想您正在运行 Java 7。为此,将以下内容添加到您的 build.sbt:

libraryDependencies ++= Seq(
"com.zaxxer" % "HikariCP-java6" % "2.3.3",
)

关于postgresql - 如何在 Typesafe conf 上为 Slick 3.0.0 RC1 配置 HikariCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29239790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com