在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。
当前回答
对我来说,再多的清理、关闭/重新打开项目和ide、删除/添加构建路径中的JRE都没用。
我找到的解决方案是从Eclipse中删除项目(不是从磁盘上),从磁盘上删除项目的Eclipse文件,然后再次导入到Eclipse中。这工作。
如果你正在使用Maven,它甚至更快:
关闭Eclipse(不需要删除项目) 执行命令mvn clean eclipse:clean eclipse:eclipse 打开Eclipse。您的项目仍然存在,问题应该已经解决了。
其他回答
以下是我的解决方法: 在Java- adt: Windows -首选项- Java-安装的jre 只需添加另一个JRE,指向JDK文件夹下的“JRE”文件夹。(jdk中包含jre)。请确保您选择了新的jre。
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41,来自eclipse开普勒工具栏->windows->首选项->java->installed jre
如果您已经添加了JRE,但仍然显示错误。试着跟随
右键单击您的项目
项目->构建路径->配置构建路径-> java构建路径-> libraries选项卡->选择JRE系统库并单击编辑按钮->如果选择替代JRE,请选择工作区默认JRE。
我的错误就是这样消失的。
我也有类似的问题。这是一个maven项目,包含以下pom.xml片段。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>9</release>
</configuration>
</plugin>
</plugins>
</build>
我不得不更改以下内容。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
如果您已经安装了JDK 11,并使用java 9或java 10作为maven编译器,eclipse将无法检测到。因此,将发布版本更改为11或JDK的实际安装版本。
Object类是java中所有类的基类,如果你没有这个,这意味着你的构建路径中没有jdk库。我不太了解开普勒,但你需要确保它指向正确的jdk编译和正确的jre运行你的java应用程序。
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41 from eclipse开普勒工具栏->windows->首选项->java->安装jre
您正在尝试在首选项中指向jdk而不是jre。工具栏->windows->首选项->java->installed jre应该指向jre而不是jdk。
当类/java-项目无法解析正确的JDK库时,会出现此错误消息。比如说,在我的主要项目A中,我得到了这个错误。项目A对项目B有一个maven依赖关系。项目B指向JDK-11。项目A指向JDK-9
更正我做:使项目也指向JDK-11。这为我解决了问题