Kotlin/Ktorm java.lang.ClassNotFoundException:java.sql.SQLException

问题描述 投票:0回答:1

我正在开发一个使用 Kotlin compose 桌面版和 Ktorm 的项目。 直接在 IntelliJ 中运行它可以工作,但尝试运行可分发文件(通过 gradle 任务创建它之后)会出现此错误:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class DatabaseKt
...
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLException
    at DatabaseKt.<clinit>(database.kt:6)
    at Data$transactions$2.invoke(Data.kt:17)
    at Data$transactions$2.invoke(Data.kt:15)
    at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
    at Data.getTransactions(Data.kt:15)
    at ComposableSingletons$MainKt$lambda-1$1$1.invokeSuspend(Main.kt:37)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 21 more
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException

失败的database.tk仅包含标准Ktorm db连接。

val database = Database.connect(
    url = dbUrl,
    user = dbUser,
    password = dbPw,
)

我尝试创建一个 SQLException 变量,结果相同

Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException

    ... 43 more
Failed to launch JVM
java kotlin noclassdeffounderror
1个回答
-1
投票

你找到解决办法了吗?我也有同样的问题(

© www.soinside.com 2019 - 2024. All rights reserved.