【问题标题】:How do I resolve this error please "Kotlin: [Internal Error] java.lang.ExceptionInInitializerError"如何解决此错误请“Kotlin:[内部错误] java.lang.ExceptionInInitializerError”
【发布时间】:2021-03-26 09:48:47
【问题描述】:
fun main() {
    fun convert(x: Double, converter: (Double) -> Double) : Double{
        val result = converter(x)
        println("$x is converted to $result")
        return result
    }
    fun convertFive(converter: (Int) -> Double) : Double {
        val result = converter(5)
        println("5 is converted to $result")
        return result
    }

    convert(20.0) { it * 1.8 + 32}
    convertFive { it * 1.8 + 32 }
}

// 当我更新我的 intelliJ Idea 并运行它时,我得到了这个错误 //

Kotlin:[内部错误] java.lang.ExceptionInInitializerError

【问题讨论】:

  • 你能把剩下的错误贴出来吗?您可能需要更新 Java、Kotlin 或 gradle 版本
  • 仅此而已
  • 问题中的代码没有问题。 (它在我的 IntelliJ 中编译和运行良好。)  一定是您的设置有问题。
  • 这是它显示的新错误“Kotlin: [Internal Error] java.lang.NOClassDefFoundError: Could not initialize class com.intellij,pom.java.LanguageLevel”

标签: kotlin intellij-idea


【解决方案1】:

问题是当前版本的 Kotlin 编译器(1.4.31、1.5-M1)不能在 JDK 16 上运行。请暂时使用 JDK https://youtrack.jetbrains.com/issue/KT-45566.

【讨论】:

  • 谢谢,这正是我想要的。
  • 它对我不起作用我尝试了很多版本!
  • 我认为 Kotlin 1.5.10 现在可以与 JDK 16 一起使用,请尝试更新 Kotlin
【解决方案2】:

试试File > Invalidate Caches/Restart...

【讨论】:

  • 即使您执行已接受答案中描述的步骤,这也是必要的步骤。就我而言,由于问题一直存在,所以我做了这里的建议。
猜你喜欢
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 2017-10-06
相关资源
最近更新 更多