[英]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.