使用Exposed与H2时出现NoSuchMethod错误

问题描述

我正在尝试使用暴露的和h2来存储在ktor服务器中。

使用Database.connect("jdbc:h2:mem:test",driver = "org.h2.Driver")建立内存连接后

每当我尝试读取/写入数据库时​​,都会出现以下错误

java.lang.NoSuchMethodError:
org.h2.jdbc.JdbcConnection.getSettings()Lorg / h2 / jdbc / JdbcConnection $ Settings; 在org.jetbrains.exposed.sql.vendors.H2Kt.isMysqLMode(H2.kt:17)

我的build.gradle.kts包含以下内容

implementation("com.h2database","h2","1.4.197")
implementation("org.jetbrains.exposed","exposed-core","0.24.1")
implementation("org.jetbrains.exposed","exposed-dao","exposed-jdbc","0.24.1")

有什么想法吗?

解决方法

Evgenij Ryazanov在上面的评论中指出,事实证明这是我使用的版本组合存在的问题。

作为临时修复,我已将H2版本更新为1.4.200