【问题标题】:Java project in Eclipse: The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class filesEclipse 中的 Java 项目:无法解析 java.lang.Object 类型。它是从所需的 .class 文件中间接引用的
【发布时间】: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 中遇到了这个问题,有什么解决方案吗?

标签: java eclipse


【解决方案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】:

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

  1. 右键单击项目»属性»Java构建路径
  2. 选择标签
  3. 找到 JRE 系统库并将其删除
  4. 点击右侧的添加库...按钮 » 添加 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 时,这发生在我身上。

    1. 右键项目>构建路径>配置构建路径...
    2. 选择“库”选项卡,您应该会看到带有错误的 Java 1.8 jre
    3. 选择 java 1.8 jre 并单击删除按钮
    4. 添加库...> JRE 系统库> 下一步> 工作区默认> 完成
    5. 单击“确定”关闭属性窗口
    6. 进入项目菜单>清理...>确定

    等等,这对我有用。

    【讨论】:

      【解决方案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。

      如果不小于:

      1. 右击你的项目->构建路径->配置构建路径
      2. 转到“库”标签
      3. 添加库 -> JRE 系统库 -> 下一步 -> 工作区默认 JRE(或者您可以从系统中选择备用 JRE)-> 完成

      如果是,则比 .

      1. 右击你的项目->构建路径->配置构建路径
      2. 转到“库”标签
      3. 删除以前的版本
      4. 添加库 -> JRE 系统库 -> 下一步 -> 工作区默认 JRE(或者您可以从系统中选择备用 JRE)-> 完成

      【讨论】:

        【解决方案7】:

        其他答案都不适合我。但这样做确实:

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

        当我这样做时,Eclipse 将导入添加到我的一个类中。我认为发生这种情况是因为我保存了缺少导入的项目,可能下班后急于回家。

        【讨论】:

        • 谢谢..它的工作原理..请解释一下它是如何工作的?
        • @SinghArjun 我不确定,但我认为当项目保存时缺少导入时会发生这种情况。
        【解决方案8】:

        没有多少清理、关闭/重新打开项目和 IDE、在构建路径中删除/添加 JRE 对我有用。

        我找到的解决方案是从 Eclipse(而不是磁盘)中删除项目,从磁盘中删除项目的 Eclipse 文件,然后再次导入 Eclipse。那行得通。

        如果你使用 Maven 会更快:

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

        【讨论】:

          【解决方案9】:

          这似乎是一个 Eclipse 错误,虽然重新启动 Eclipse 对我来说效果很好,希望这对其他人也有帮助。

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

          【讨论】:

            【解决方案10】:

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

            1. 右键单击项目
            2. 选择属性
            3. 点击安卓
            4. 勾选相应的项目构建目标
            5. 申请 |好的

            【讨论】:

              【解决方案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。它为我解决了这个问题

                                  【讨论】:

                                    猜你喜欢
                                    • 2022-12-22
                                    • 1970-01-01
                                    • 2021-07-29
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2012-10-26
                                    • 2016-11-14
                                    • 2017-10-05
                                    相关资源
                                    最近更新 更多