繁体   English   中英

如何修复 java.lang.ClassNotFoundException: kotlin.String

[英]how to fix java.lang.ClassNotFoundException: kotlin.String

我正在尝试使用SystemClassLoader加载kotlin.String

        inputClassName = String::class.qualifiedName.toString()
        val input = ClassLoader.getSystemClassLoader()
            .loadClass(inputClassName) // here I get error

我得到了错误。 堆栈跟踪:

Exception in thread "main" java.lang.ClassNotFoundException: kotlin.String
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    at block.execution.Executor.init(Executor.kt:40)
    at block.AppKt.main(App.kt:50)

我究竟做错了什么? 我该如何解决?

kotlin.String不作为可以加载的 class 存在,它由编译器映射到java.lang.String String::class.java.name将为您提供 class 的实际名称。

当然,正如 Mikhail Kopylov 所指出的,以已加载的 class 的名称加载 class 几乎没有意义。 也许要在特定的ClassLoader中加载它,但无论如何,系统 class 加载器肯定会加载String

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM