解决初次Kotlin: [Internal Error] java.lang.NoClassDefFoundError异常问题
错误原因
第一次出现这类问题是初始化出现了异常,以下经验适用于初学者出现此错误的情况。
先看总结
大概率是jdk问题。
- 先检查电脑上是否有jdk,如果没有,下载
- 检查是不是jdk的环境路径问题
- 是否是jdk版本冲突
注意更换jdk版本要重启IDEA才生效。
1. 检查你的电脑上是否下载了jdk
使用IDEA是要有JDK的,IDEA只是一个集成了很多功能的“代码编辑器”,实际上代码能够得以运行依赖的是JDK。IDEA相当于一台自动榨汁机,它大大简化了榨取果汁所需要的操作、降低了难度,但是果汁的产生是需要水果的,JDK就相当于水果。没有水果,榨汁机再怎么先进也买办法凭空产生果汁,同理,没有JDK,写的kotlin代码是没法运行的。
如果你没有下载jdk,那么请自行搜索教程下载。
2.jdk环境路径问题
如果电脑上有jdk但还是有这个问题,那么先检查一下是不是环境路径出了问题,这里请自行查找教程。
关于多jdk的环境变量,我后面会出一期教程,教你如何便捷地更换不同版本的jdk。
3.jdk版本介绍
实际上,IDEA所支持的jdk版本是有限的,举个例子:
假如2010年jdk的最新版本是8,记为jdk8,同年推出了一个版本的IDEA,记为IDEA8,那么IDEA8是不可能支持jdk9的,这个很容易理解,因为他无法支持还未出现的东西。如果2011年出了jdk9,那么IDEA8是不支持jdk9的。当然你可以升级新的IDEA版本,升级成9或者10就可以兼容支持了。
当然如果你的IDEA不是通过正常途径获取的,那我不建议升级,懂的都懂。我的建议是下载一个IDEA支持的jdk版本。

如图,截止发布本文章以前,jdk的版本已经到达了24,然而我的JVM最新才支持13,而我的电脑运行环境又是jdk17,因此就会出现不匹配的报错。
4.解决版本冲突问题
我的情况就是电脑运行的jdk和我创建项目时勾选的jdk版本不一致,因此导致的这个错误。
我尝试了在项目内将SDK更换为电脑运行的版本,但是不起作用,随后我在网上找教程,说是如果要更换jdk版本,要重启IDEA才行。这里我建议重启IDEA后 重新建立一个项目,因为中途更换jdk版本可能会导致其他的问题。
4.1 检查jdk版本

如图,我的是Java11
4.2 创建项目

按照以上选项进行选择,然后下一步

按照以上选择,选完之后点击完成,创建项目。

再次运行,运行成功。
更多推荐
所有评论(0)