簡體   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