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

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

但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41在Eclipse Kepler中,通过Window»Preferences»Java»Installed JREs。


当前回答

我也有类似的问题。这是一个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库了。

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

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

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

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

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

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

右键单击项目,选择Maven ->更新项目。 这样问题就解决了。