在Eclipse中导入项目后,我得到以下错误:
无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41在Eclipse Kepler中,通过Window»Preferences»Java»Installed JREs。
在Eclipse中导入项目后,我得到以下错误:
无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41在Eclipse Kepler中,通过Window»Preferences»Java»Installed JREs。
当前回答
以下是我的解决方法: 在Java- adt: Windows -首选项- Java-安装的jre 只需添加另一个JRE,指向JDK文件夹下的“JRE”文件夹。(jdk中包含jre)。请确保您选择了新的jre。
其他回答
其他的答案都对我没用。但这样做确实做到了:
右键单击包资源管理器中的项目。 清理… 下一个>完成
当我这样做时,Eclipse向我的一个类添加了一个导入。我认为这是因为我保存了一个丢失导入的项目,可能是下班后急于回家。
对于Gradle用户,使用eclipse插件。我没有直接使用eclipse,而是在Neovim上使用jdtls。这为我解决了问题。
build.gradle
plugins {
id 'java'
id 'eclipse'
}
然后运行
gradle cleanEclipse eclipse
以下步骤可能会有所帮助:
右键单击项目»属性»Java构建路径 选择库选项卡 找到JRE系统库并删除它 点击添加库…添加JRE系统库(工作空间默认JRE)
对我来说,再多的清理、关闭/重新打开项目和ide、删除/添加构建路径中的JRE都没用。
我找到的解决方案是从Eclipse中删除项目(不是从磁盘上),从磁盘上删除项目的Eclipse文件,然后再次导入到Eclipse中。这工作。
如果你正在使用Maven,它甚至更快:
关闭Eclipse(不需要删除项目) 执行命令mvn clean eclipse:clean eclipse:eclipse 打开Eclipse。您的项目仍然存在,问题应该已经解决了。
不管这有多简单,请检查您的Java安装。对我来说,rt.jar丢失了。
在摆弄了半天Eclipse设置却一无所获之后,我发现了这一点。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse的问题,但令我惊讶的是,我看到了这个:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。