Eclipse中的Java项目:无法解析Java .lang. object类型。它是从必需的.class文件中间接引用的

在Eclipse中导入项目后,我得到以下错误:

无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的

然而,我已经在Eclipse Kepler中将路径设置为C:\Program Files\Java\ jdk1.6.0_41,通过窗口»首选项»Java»已安装的jre

534797 次浏览

Object类是java中所有类的基类,如果你没有这个,这意味着你的构建路径中没有jdk库。我不太了解开普勒,但你需要确保它指向正确的jdk编译和正确的jre运行你的java应用程序。

但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41 from eclipse开普勒工具栏->windows->首选项->java->installed jre

. exe

您正在尝试在首选项中指向jdk而不是jre。工具栏->windows->首选项->java->installed jre应该指向jre而不是jdk。

这是一个恼人的Eclipse Bug,似乎时不时就会咬人。请参阅http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html以获得可能的解决方案,否则请尝试以下方法;

  • 关闭项目并重新打开。

  • 清理项目(它将重新构建构建路径,从而重新配置JDK库)

  • 删除并重新导入项目,如有必要,再次执行上述步骤。

更好的治疗方法是尝试NetBeans而不是Eclipse:-)

下面是我解决问题的方法: 在Java- adt: Windows -首选项- Java-安装的jre 只需添加另一个JRE,指向JDK文件夹下的“JRE”文件夹。(jdk中包含jre)。

. exe .

. exe .

其他的答案都对我没用。但这样做确实做到了:

  1. 右键单击包资源管理器中的项目。
  2. 清理…
  3. 下一个>完成

当我这样做时,Eclipse向我的一个类添加了一个导入。我认为这是因为我保存了一个丢失导入的项目,可能是下班后急于回家。

以下步骤可能会有所帮助:

  1. 右键单击项目»属性»Java构建路径
  2. 选择选项卡
  3. 找到JRE系统库并删除它
  4. 点击右边的添加库…按钮»添加JRE系统库(工作空间默认JRE)

另一个问题可能是Android项目构建目标没有设置。

  1. 右键单击项目
  2. 选择属性
  3. 点击安卓
  4. 勾选适当的项目构建目标
  5. 应用| OK

当我从Eclipse Luna导入一个Java 1.8项目到Eclipse Kepler时,就发生了这种情况。

  1. 右键单击项目>生成路径>配置生成路径…
  2. 选择Libraries选项卡,您应该会看到带有错误的Java 1.8 jre
  3. 选择java 1.8 jre并单击Remove按钮
  4. 添加库…> JRE系统库>下一个>工作空间默认>完成
  5. 单击OK关闭属性窗口
  6. 进入项目菜单>清洁…>好吧

Et voilà,这对我有用。

我在添加控制器后,在eclipse上使用play-java应用程序面临这个问题, 我通过构建路径删除并重新安装JRE,然后删除并导入我的项目,自动解决了这个问题。 谢谢陀螺。< / p >

右键单击项目——>在导航器中显示 在导航视图中,您可以看到.classpath文件,删除该文件并构建项目。这对我很管用。 PS.如果你已经将eclipse项目与一些版本控制集成在一起,比如perfce /svn,那么在删除.classpath之前解除项目链接将会很有帮助

我在eclipse窗口中遇到了同样的问题,我无法从JNI中添加依赖的.class文件。 为了解决同样的问题,我将所有代码移植到NetBeans IDE

无法添加Eclipse (JAVA, Windows 7)中JNI/JNA文件夹中的所有类文件

这似乎是一个Eclipse错误,尽管重新启动Eclipse对我来说工作得很好,希望这对其他人也有帮助。

编辑:下次我遇到这个问题时,上面的解决方案不起作用-问题是我导入的项目-有错误的java运行时设置-不存在(我的JRE中有java 8,但导入的项目设置为java 11,所以我必须将项目java版本更改为8。另一种选择是在Eclipse首选项中添加更多的JRE -如果项目确实需要更新的JRE才能工作)

解决我问题的是

1)在不带空格的目录下安装jdk:

C:/Java

而不是

C:/Program Files/Java

这是Windows中的一个已知问题。我也修复了JAVA_HOME

2)我的笔记本电脑上有java 7和java 8。所以我使用eclipse.ini定义了jvm。如果你的eclipse.ini中没有-vm项,这不是一个强制步骤。我更新:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

而不是:

C:/Java/jdk1.7.0_79/bin/javaw.exe

祝你好运

对我来说,再多的清理、关闭/重新打开项目IDE、删除/添加构建路径中的JRE都没用。

我找到的解决方案是从Eclipse中删除项目(不是从磁盘上),从磁盘上删除项目的Eclipse文件,然后再次导入到Eclipse中。这工作。

如果你正在使用Maven,它甚至更快:

  1. 关闭Eclipse(不需要删除项目)
  2. 运行mvn clean eclipse:clean eclipse:eclipse
  3. 打开Eclipse。您的项目仍然存在,问题应该已经解决了。

在Eclipse中使用以前版本的JRE时,是否安装了不同版本的JRE ?

如果不是:

  1. 右键单击您的项目->生成路径->配置生成路径
  2. 转到“图书馆”标签
  3. 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成

如果是,那么。

  1. 右键单击您的项目->生成路径->配置生成路径
  2. 转到“图书馆”标签
  3. 移除旧版本
  4. 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成

当我们使用tomcat 6和jdk 1.8版本时,一些特性将无法工作,您得到的这个错误就是其中之一。需要在eclipse中将JDK版本修改为稳定版本(最好是JDK 1.6或JDK 1.8_65)才能解决此错误。

在eclipse中< p > 步骤1:属性-> Java构建路径-> jre系统库(删除) 步骤2:add -> jre system library -> alternate jre -> installed jre -> add -> Standard VM -> (in jre home, place jdk path) -> finish

现在清洗并检查项目

发生在我在eclipse中安装了一些更新后,但忘记重新启动之后。所以重启eclipse可能会有所帮助。

不管这有多简单,请检查您的Java安装。对我来说,Rt.jar丢失了

我在摆弄了半天Eclipse设置后发现了这个,但一无所获。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse问题,但令我惊讶的是,我看到了这个:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。

我得到这个错误,因为我已经安装了“Eclipse IDE for Enterprise Java Developers”,我卸载了这个,并安装了“Eclipse IDE for Java Developers”。问题为我解决了。

在eclipse java编译器中取消勾选“用户”—释放选项后,它为我工作

在eclipse第1步:属性-> java编译器-> uchecking 'User '——释放选项'选项->完成

Java版本13.0.1 Eclipse版本:Eclipse IDE for Enterprise Java Developers.

右键单击项目,选择Maven ->更新项目。

在我的情况下,这是一个大的模块化项目,'红色的X'只在父项目中显示。 我去父项目

属性->构建路径

a删除了那里的JRE库,就这样,在父项目上再也没有JRE库了。

这些方法对我来说都没用。在我的情况下,问题是我有一些Java代码产生.java文件,我不小心创建了一个名为Class.java的文件(内容似乎并不重要)。删除文件解决了这个问题。

但是我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41 from eclipse Kepler工具栏->windows->preferences->java->installed jre

如果您已经添加了JRE,但仍然显示错误。试着跟随

右键单击您的项目

项目→构建路径→配置构建路径->Java构建路径->图书馆TAB ->选择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的实际安装版本。

有时这个错误发生在更新JAVA之后。如果是,请在eclipse存在的文件夹中找到eclipse.ini文件。然后将-vm keyward下的行更改为jre/bin文件夹的新路径,以获得路径go to programfiles ->java→Jre最新版本->Bin文件夹复制路径并在-vm关键字下替换。

当类/java-项目无法解析正确的JDK库时,会出现此错误消息。比如说,在我的主要项目A中,我得到了这个错误。项目A对项目B有一个maven依赖关系。项目B指向JDK-11。项目A指向JDK-9

更正我做:使项目也指向JDK-11。这为我解决了问题

对于Gradle用户,使用eclipse插件。我没有直接使用eclipse,而是在Neovim上使用jdtls。这为我解决了问题。

build.gradle

plugins {
id 'java'
id 'eclipse'
}

然后运行

gradle cleanEclipse eclipse