在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的实际安装版本。

其他回答

以下是我的解决方法: 在Java- adt: Windows -首选项- Java-安装的jre 只需添加另一个JRE,指向JDK文件夹下的“JRE”文件夹。(jdk中包含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代码生成。Java文件,我不小心创建了一个名为Class.java的文件(内容似乎并不重要)。删除文件解决了这个问题。

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

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

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

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