Eclipse 中的 Java 项目:无法解析 java.lang.Object 类型。它是从所需的 .class 文件中间接引用的
Posted
技术标签:
【中文标题】Eclipse 中的 Java 项目:无法解析 java.lang.Object 类型。它是从所需的 .class 文件中间接引用的【英文标题】:Java project in Eclipse: The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files 【发布时间】:2013-08-07 04:10:57 【问题描述】:在 Eclipse 中导入项目后出现以下错误:
类型 java.lang.Object 无法解析。它是从所需的 .class 文件中间接引用的
但是,我通过 Window » Preferences » Java » Installed JREs 在 Eclipse Kepler 中将路径设置为 C:\Program Files\Java\jdk1.6.0_41 .
【问题讨论】:
我做了“复制项目”,错误消失了 该行为仍然出现在 Luna Service Release 2 (4.4.2) 中。这里的方案还是可以解决问题的。 我在 android Studio 中遇到了这个问题,有什么解决方案吗? 【参考方案1】:这是一个恼人的 Eclipse 错误,它似乎时不时地咬人。请参阅http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html 以获取可能的解决方案,否则请尝试以下方法;
关闭项目并重新打开它。
清理项目(它将重建构建路径,从而重新配置 JDK 库)
或
删除并重新导入项目,如有必要,请再次执行上述步骤。
更好的解决方法是尝试 NetBeans 而不是 Eclipse :-)
【讨论】:
这里也一样。奇怪的 Eclipse 错误。正如链接所说,从项目的类路径中删除 JRE 库并重新添加它可以解决问题。 哦,世界上没有与 IBM 签订合同。 我在一个 Android 项目上遇到了这个错误,我点击 Android 工具 -> 修复项目属性修复了它。 Intellij 代替 net beans 或 Eclipse 2021 年了,Eclipse 仍然很烂。【参考方案2】:以下步骤可能会有所帮助:
-
右键单击项目»属性»Java构建路径
选择库标签
找到 JRE 系统库并将其删除
点击右侧的添加库...按钮 » 添加 JRE 系统库(Workspace 默认 JRE)
【讨论】:
就我而言,这是因为我在导入项目时意外删除了 JRE [我的错]。这给了我解决问题的线索。 在我的情况下它根本不存在,所以我添加了它。 虽然这在我的情况下有效,解决了 8 个错误,但又给了我 33 个错误! 我在 Android Studio 中遇到了这个问题,有什么解决方案吗?【参考方案3】:我是这样解决的: 在 Java-ADT 中:Windows - 首选项 - Java - 已安装的 JRE 只需添加另一个 JRE,指向 JDK 文件夹下的“jre”文件夹。 (jre 包含在 jdk 中)。确保您选择了新的 jre。
【讨论】:
【参考方案4】:当我将一个 Java 1.8 项目从 Eclipse Luna 导入 Eclipse Kepler 时,这发生在我身上。
-
右键项目>构建路径>配置构建路径...
选择“库”选项卡,您应该会看到带有错误的 Java 1.8 jre
选择 java 1.8 jre 并单击删除按钮
添加库...> JRE 系统库> 下一步> 工作区默认> 完成
单击“确定”关闭属性窗口
进入项目菜单>清理...>确定
等等,这对我有用。
【讨论】:
【参考方案5】:Object 类是 java 中所有类的基类,如果您缺少它,则意味着您的构建路径中没有 jdk 库。我对 Kepler 了解不多,但您需要确保它指向正确的 jdk 用于编译和正确的 jre 用于运行您的 java 应用程序。
但是我将路径设置为 C:\Program Files\Java\jdk1.6.0_41 from eclipse Kepler工具栏->windows->preferences->java->安装的jre
您试图在您的首选项中指向 jdk 而不是 jre。 toolbar->windows->preferences->java->installed jre 应该指向一个 jre 而不是 jdk。
【讨论】:
我也试过了。但仍处于相同的错误状态。【参考方案6】:在 Eclipse 中使用以前版本的 JRE 时,您是否安装了不同版本的 JRE。
如果不小于:
-
右击你的项目->构建路径->配置构建路径
转到“库”标签
添加库 -> JRE 系统库 -> 下一步 -> 工作区默认 JRE(或者您可以从系统中选择备用 JRE)-> 完成
如果是,则比 .
-
右击你的项目->构建路径->配置构建路径
转到“库”标签
删除以前的版本
添加库 -> JRE 系统库 -> 下一步 -> 工作区默认 JRE(或者您可以从系统中选择备用 JRE)-> 完成
【讨论】:
【参考方案7】:其他答案都不适合我。但这样做确实:
-
右键单击包资源管理器中的项目。
来源 > 清理...
下一步 > 完成
当我这样做时,Eclipse 将导入添加到我的一个类中。我认为发生这种情况是因为我保存了缺少导入的项目,可能下班后急于回家。
【讨论】:
谢谢..它的工作原理..请解释一下它是如何工作的? @SinghArjun 我不确定,但我认为当项目保存时缺少导入时会发生这种情况。【参考方案8】:没有多少清理、关闭/重新打开项目和 IDE、在构建路径中删除/添加 JRE 对我有用。
我找到的解决方案是从 Eclipse(而不是磁盘)中删除项目,从磁盘中删除项目的 Eclipse 文件,然后再次导入 Eclipse。那行得通。
如果你使用 Maven 会更快:
-
关闭 Eclipse(无需删除项目)
运行
mvn clean eclipse:clean eclipse:eclipse
打开 Eclipse。您的项目仍然存在,问题应该已经消失。
【讨论】:
【参考方案9】:这似乎是一个 Eclipse 错误,虽然重新启动 Eclipse 对我来说效果很好,希望这对其他人也有帮助。
编辑:下次我遇到这个问题时,上面的解决方案不起作用 - 问题是我导入的项目 - 设置了错误的 java 运行时集 - 不存在(我的 JRE 中有 java 8,但是导入的项目设置为 Java 11,因此我不得不将项目 Java 版本更改为 8。替代方法是在 Eclipse 首选项中添加更多 JRE - 如果项目确实需要更新的 JRE 才能工作)
【讨论】:
【参考方案10】:另一个问题可能是未设置 Android 项目构建目标。
-
右键单击项目
选择属性
点击安卓
勾选相应的项目构建目标
申请 |好的
【讨论】:
【参考方案11】:右键单击项目-->在导航器中显示 在导航器视图中,您可以看到 .classpath 文件,删除此文件并构建项目。这对我有用。 PS。如果您已将 eclipse 项目与 perfoce/svn 等版本控制集成,那么在删除 .classpath 之前取消链接项目将很有帮助。
【讨论】:
【参考方案12】:添加控制器后,我在 Eclipse 上使用 play-java 应用程序时遇到了这个问题, 我通过构建路径删除并重新安装了 JRE,然后删除并导入了我的项目,它自动解决了这个问题。 谢谢陀螺。
【讨论】:
这和 Ripon Al Wasim 的回答一样,对吧?【参考方案13】:解决我的问题是
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
祝你好运
【讨论】:
【参考方案14】:我在 Eclipse 窗口中遇到了同样的问题,我无法从 JNI 添加依赖的 .class 文件。 为了解决同样的问题,我将所有代码移植到 NetBeans IDE。
Can not add all the classes files from the JNI/JNA folder in Eclipse (JAVA, Windows 7)
【讨论】:
为什么它被否决了?请参阅我尝试了所有可能的解决方案,但仍然无法解决问题,然后我将代码移植到 NetBeans。我之所以回答这个问题,是因为如果有人挺身而出,在最坏的情况下,他(他)可能会得到帮助。 你可能是对的,但对我来说,在删除现有库并设置默认 jre 库、关闭项目、打开项目后,JNI/JNA 工作正常(对于 eclipse - 4.9.0)。【参考方案15】:虽然我们使用的是 tomcat 6 和 jdk 1.8 版本,但某些功能将无法使用,而您遇到的这个错误就是其中之一。您需要在eclipse中将jdk版本更改为稳定版本(首选jdk 1.6或jdk 1.8_65)才能解决此错误。
在日食中 第 1 步:属性 -> java 构建路径 -> jre 系统库(删除) 第二步:添加->jre系统库->备用jre->安装jre->添加->标准VM->(在jre home,放置jdk路径)->完成
现在清理并检查项目
【讨论】:
【参考方案16】:我收到此错误是因为我安装了“面向企业 Java 开发人员的 Eclipse IDE”,我卸载了它并安装了“面向 Java 开发人员的 Eclipse IDE”。为我解决了问题。
【讨论】:
【参考方案17】:在 Eclipse Java 编译器中取消选中“用户”--releae 选项后,它对我有用
在 Eclipse 步骤 1 中:属性 -> java Complier -> uchecking 'User '--releae option' 选项 -> 完成
Java 版本 13.0.1 Eclipse 版本:面向企业 Java 开发人员的 Eclipse IDE。
【讨论】:
这为我解决了,但谁能帮我理解为什么?【参考方案18】:我遇到了类似的问题。这是一个 maven 项目,具有以下 pom.xml 的 sn-p。
<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 版本。
【讨论】:
【参考方案19】:在我在 eclipse 中安装了一些更新但之后忘记重新启动后发生在我身上。所以也许重新启动 Eclipse 可能会有所帮助。
【讨论】:
我试过这样做,但我还不能写 cmets。【参考方案20】:无论这多么微不足道,请检查您的 Java 安装。对我来说,rt.jar 不见了。
我在 Eclipse 设置中摆弄了半天但一无所获后发现了这个。 无奈之下,我终于决定尝试从命令行编译项目。我没想到会出现任何问题,因为我认为这是 Eclipse 问题,但令我惊讶的是,我看到了这个:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的 Java 安装发生了什么以及 rt.jar 去了哪里。无论如何,这提醒您检查失败清单并勾选所有框,无论它们多么令人难以置信。这会为我节省很多时间。
【讨论】:
【参考方案21】:右键单击项目,选择 Maven -> 更新项目。 这应该可以解决问题。
【讨论】:
做 eclipse -> maven -> 更新应该是故障排除的步骤之一。【参考方案22】:就我而言,这是一个大型模块化项目,“red X”仅在父项目中显示。 我去了父项目
属性 -> 构建路径
a 删除了那里的 JRE 库,就这样,父项目上不再有 JRE 库了。
【讨论】:
【参考方案23】:这些解决方案都不适合我。就我而言,问题是我有一些 Java 代码生成 .java
文件,并且我不小心创建了一个名为 Class.java
的文件(内容似乎无关紧要)。删除文件解决了问题。
【讨论】:
【参考方案24】:但是我已经将路径设置为 C:\Program Files\Java\jdk1.6.0_41 从 eclipse Kepler 工具栏->windows->preferences->java->installed jre
如果您已经添加了 JRE,但仍然显示错误。尝试关注
右键单击您的项目
项目->构建路径->配置构建路径-> java构建路径->库选项卡->选择JRE系统库并单击编辑按钮->如果选择了替代JRE,则选择工作区默认JRE。
这就是我的错误消失的方式。
【讨论】:
【参考方案25】:有时在更新 JAVA 后会发生此错误。如果是这样,请转到存在 Eclipse 的同一文件夹中的 eclipse.ini 文件。然后将 -vm keyward 下的行更改为 jre/bin 文件夹的新路径以获取路径 go to programfiles -> java -> jre latest version -> bin 文件夹复制路径并替换 -vm 关键字下的行。
【讨论】:
【参考方案26】:当类/java-project 无法解析正确的 JDK 库时,会出现此错误消息。比如说,在我的主要项目 A 中,我遇到了这个错误。这个项目 A 对项目 B 有一个 Maven 依赖项。项目 B 指向 JDK-11。项目 A 指向 JDK-9
我所做的更正:Made Project 也指向 JDK-11。它为我解决了这个问题
【讨论】:
以上是关于Eclipse 中的 Java 项目:无法解析 java.lang.Object 类型。它是从所需的 .class 文件中间接引用的的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse 中的项目无法解析 Maven 依赖项中存在的 jars