在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。
当前回答
这似乎是一个Eclipse错误,尽管重新启动Eclipse对我来说工作得很好,希望这对其他人也有帮助。
编辑:下次我遇到这个问题时,上面的解决方案不起作用-问题是我导入的项目-有错误的java运行时设置-不存在(我的JRE中有java 8,但导入的项目设置为java 11,所以我必须将项目java版本更改为8。另一种选择是在Eclipse首选项中添加更多的JRE -如果项目确实需要更新的JRE才能工作)
其他回答
我在eclipse窗口中遇到了同样的问题,我无法从JNI中添加依赖的.class文件。 为了解决同样的问题,我将所有代码移植到NetBeans IDE。
无法添加Eclipse中JNI/JNA文件夹中的所有类文件(JAVA, Windows 7)
我也有类似的问题。这是一个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的实际安装版本。
在我的案例中,这是一个大型模块化项目,“红色X”只在父项目中显示。 我去了父项目
属性->构建路径
a删除了那里的JRE库,就这样,在父项目上再也没有JRE库了。
不管这有多简单,请检查您的Java安装。对我来说,rt.jar丢失了。
在摆弄了半天Eclipse设置却一无所获之后,我发现了这一点。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse的问题,但令我惊讶的是,我看到了这个:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。
以下步骤可能会有所帮助:
右键单击项目»属性»Java构建路径 选择库选项卡 找到JRE系统库并删除它 点击添加库…添加JRE系统库(工作空间默认JRE)