加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

kotlin – 使用Exposed时的NoClassDefFoundError

发布时间:2020-12-15 04:39:18 所属栏目:Java 来源:网络整理
导读:我使用 Exposed作为我的数据库库,当我尝试运行我的代码时,我遇到了这些错误: Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses at org.jetbrains.exposed.sql.Table.clone(Table.kt:196) at org.jetbrains.expose
我使用 Exposed作为我的数据库库,当我尝试运行我的代码时,我遇到了这些错误:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses
    at org.jetbrains.exposed.sql.Table.clone(Table.kt:196)
    at org.jetbrains.exposed.sql.Table.cloneWithAutoInc(Table.kt:234)
    at org.jetbrains.exposed.sql.Table.autoIncrement(Table.kt:238)
    at org.jetbrains.exposed.sql.Table.autoIncrement$default(Table.kt:238)
    at vanilla.jubeatbook.data.Songs.<init>(SQLObjects.kt:14)
    at vanilla.jubeatbook.data.Songs.<clinit>(SQLObjects.kt:13)
    at vanilla.jubeatbook.backend.MainKt$main$1.invoke(Main.kt:22)
    at vanilla.jubeatbook.backend.MainKt$main$1.invoke(Main.kt)
    at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.inTopLevelTransaction(ThreadLocalTransactionManager.kt:70)
    at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:58)
    at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:49)
    at vanilla.jubeatbook.backend.MainKt.main(Main.kt:21)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.ClassNotFoundException: kotlin.reflect.full.KClasses
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 17 more

SQLObjects.kt的代码片段:

object Songs : Table() {
    val _id = integer("_id").autoIncrement().primaryKey() // Line 14
    val songId = integer("song_id")
    val title = text("title")
    val artist = text("artist")
    val levelBSC = integer("level_bsc")
    val levelADV = integer("level_adv")
    val levelEXT = integer("level_ext")
}

我想我正确地遵循了示例代码,但我不能弄清楚抛出这些代码的原因.

解决方法

您需要将kotlin-reflect添加为项目的依赖项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读