kotlin - 与 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", "0.24.1")
implementation("org.jetbrains.exposed", "exposed-jdbc", "0.24.1")
有任何想法吗?
解决方案
正如 Evgenij Ryazanov 在上面的评论中指出的那样,事实证明这是我正在使用的版本组合的问题。
作为临时修复,我已将 H2 版本更新为 1.4.200
推荐阅读
- r - dplyr:比较依赖于另一个变量的变量中的值
- ios - 如何通过命令行在 Xcode 中登录 Apple ID?
- mysql - MySQL左连接左表或右表有条件
- dialogflow-es - 为每个意图启用 Dialogflow 的履行 webhook
- sequelize.js - Sequelize:具有关联数据过滤器的分组数据
- layout - 在 XPages 中使用 Bootstrap 激活的标题栏选项卡
- django - FOREIGN KEY 约束失败 Django
- javascript - 来自 Twitch API 的地图评论 - React
- datatables - 如何从数据表中的pdf中删除下拉选择选项
- angular - Ionic v4:使用代理解决 CORS 失败