在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。
当前回答
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41,来自eclipse开普勒工具栏->windows->首选项->java->installed jre
如果您已经添加了JRE,但仍然显示错误。试着跟随
右键单击您的项目
项目->构建路径->配置构建路径-> java构建路径-> libraries选项卡->选择JRE系统库并单击编辑按钮->如果选择替代JRE,请选择工作区默认JRE。
我的错误就是这样消失的。
其他回答
其他的答案都对我没用。但这样做确实做到了:
右键单击包资源管理器中的项目。 清理… 下一个>完成
当我这样做时,Eclipse向我的一个类添加了一个导入。我认为这是因为我保存了一个丢失导入的项目,可能是下班后急于回家。
不管这有多简单,请检查您的Java安装。对我来说,rt.jar丢失了。
在摆弄了半天Eclipse设置却一无所获之后,我发现了这一点。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse的问题,但令我惊讶的是,我看到了这个:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。
我也有类似的问题。这是一个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的实际安装版本。
在eclipse java编译器中取消勾选“用户”—释放选项后,它为我工作
在eclipse第1步:属性-> java编译器-> uchecking 'User '——释放选项'选项->完成
Java版本13.0.1 Eclipse版本:Eclipse IDE for Enterprise Java Developers。
在Eclipse中使用以前版本的JRE时,是否安装了不同版本的JRE ?
如果不是:
右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成
如果是,那么。
右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 移除旧版本 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成