Eclipse中Kotlin代码运行异常:修改变量后输出未更新且出现Serializable访问错误
我完全能懂你这种糟心的情况——代码明明改了变量值,跑出来还是旧输出,还突然蹦出个Serializable访问错误,手动编译和VS Code都正常,显然是Eclipse这边的构建缓存或者插件配置出了幺蛾子。结合你已经试过的操作,给你几个针对性的解决方案:
强制清理项目缓存并重建
先试试最直接的操作:点击顶部菜单栏的Project->Clean,选择Clean all projects,然后右键你的项目,选Build Project。如果还是不行,手动删除项目根目录下的bin或者target文件夹(这是Eclipse存放编译产物的地方,有时候缓存文件会顽固残留),再重新构建一次。修正Kotlin库的构建路径配置
你之前把Kotlin库移到Module Path导致了ClassNotFoundException,这是因为目前Eclipse的Kotlin插件对Module Path的支持还不够稳定。打开项目的Properties->Java Build Path,把Kotlin相关的库移回Classpath下面,确保它们没有被放在Module Path里。另外检查Kotlin Compiler的配置(同样在Properties里),目标JVM版本要和你项目使用的JRE版本一致。重新导入项目重置配置
有时候项目的.project或.classpath配置文件会损坏,导致插件行为异常。你可以先把项目从Eclipse中移除(注意不要勾选“Delete project contents on disk”),然后通过File->Import->Existing Projects into Workspace重新导入项目,之后右键项目选择Configure->Add Kotlin Nature,让插件重新初始化项目配置。关闭自动构建后手动操作
自动构建有时候会和Kotlin插件的编译逻辑冲突。先关掉Project->Build Automatically,然后执行Clean操作,再手动Build项目,之后再运行代码。问题解决后可以再打开自动构建,看看是否还会复发。确认Eclipse使用完整JDK而非JRE
有些精简版JRE可能缺少Serializable这类核心类的完整支持。打开Window->Preferences->Java->Installed JREs,检查你选中的是否是完整的JDK路径(比如jdk1.8.0_xxx而不是jre1.8.0_xxx),如果不是,添加正确的JDK并设为默认。
这些方法都是针对Eclipse-Kotlin插件常见的缓存、配置问题的,你可以挨个试试,应该能解决你的问题。
备注:内容来源于stack exchange,提问作者Frontalschaden

