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

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

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


当前回答

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

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

其他回答

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

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

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

我也有类似的问题。这是一个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的实际安装版本。

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

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