#kotlin #h2 #kotlin-exposed
#kotlin #h2 #kotlin- открытый
Вопрос:
Я пытаюсь использовать exposed и h2 для хранения внутри сервера ktor.
После установки соединения в памяти с Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")
Всякий раз, когда я пытаюсь прочитать / записать в базу данных, я получаю следующую ошибку:
java.lang.Ошибка noSuchMethod:
org.h2.jdbc.JdbcConnection.getSettings()в файле/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")
Есть идеи?
Комментарии:
1. If должно быть исправлено вместе с этой проблемой: github.com/JetBrains/Exposed/issues/919
2. Старый код использует внутренний класс из H2, который существует только в H2 1.4.199 и H2 1.4.200, но не существует в более старых версиях и в предстоящей следующей версии.
Ответ №1:
Как указал Евгений Рязанов в комментариях выше, оказывается, это проблема с моей комбинацией версий, которые я использую.
В качестве временного исправления я обновил свою версию H2 до 1.4.200