IntelliJ IDEA中使用Kotlin Scratch运行代码抛出ZipException的解决方法咨询
遇到这种Scratch运行时弹出ZipException的情况确实挺头疼的,我来给你分享几个经过验证的解决思路,你可以挨个试试:
清理IDE缓存并重启
这种CRC校验错误大概率是IDE的缓存文件损坏导致的,这也是最常见的解决方式。操作步骤很简单:点击顶部菜单栏的File->Invalidate Caches...,在弹出的窗口里选择Invalidate and Restart,等IDE完全重启后再尝试运行Scratch代码。检查并修复Kotlin插件
Kotlin插件损坏或者版本不兼容也可能引发这类问题。你可以打开Settings(Windows/Linux是File -> Settings,Mac是IntelliJ IDEA -> Settings),找到Plugins选项卡,搜索Kotlin插件:- 如果有可用更新,先更新到最新版本,重启IDE后测试;
- 如果更新后还是不行,尝试卸载插件,然后重新安装,再重启IDE。
重新下载损坏的依赖Jar包
错误日志里提到了ZipInputStream,说明可能有某个依赖的Jar包CRC校验失败,也就是Jar包本身损坏了。你可以找到项目的依赖缓存目录:- 如果你用的是Gradle,去
.gradle/caches/modules-2/files-2.1目录下,删除所有和Kotlin相关的文件夹; - 如果你用的是Maven,去
.m2/repository/org/jetbrains/kotlin目录下删除对应内容;
然后回到IDE,执行Sync Project with Gradle Files或者Reload All Maven Projects,让IDE重新下载完整的依赖包。
- 如果你用的是Gradle,去
调整Scratch的运行配置
有时候Scratch的默认运行配置和项目的JDK版本不匹配也会出问题。你可以点击Scratch文件右上角的运行配置,选择Edit Configurations...,在打开的窗口里找到Kotlin Scratch的配置项:- 检查
JRE选项是否和项目使用的JDK版本一致,不一致的话改成项目的JDK; - 也可以尝试切换成IDE自带的JDK,看看能不能正常运行。
- 检查
如果以上方法都没解决问题,你可以试试创建一个全新的空项目,在里面新建Kotlin Scratch文件运行println("Hi"),如果这个能正常运行,说明是你原有项目的配置出现了异常,这时候可以考虑逐步迁移项目内容或者重新初始化项目配置。
内容来源于stack exchange

