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

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

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


当前回答

我得到这个错误,因为我已经安装了“Eclipse IDE for Enterprise Java Developers”,我卸载了这个,并安装了“Eclipse IDE for Java Developers”。问题为我解决了。

其他回答

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

右键单击项目 选择属性 点击安卓 勾选适当的项目构建目标 应用| OK

在Eclipse中使用以前版本的JRE时,是否安装了不同版本的JRE ?

如果不是:

右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成

如果是,那么。

右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 移除旧版本 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成

解决我问题的是

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

祝你好运

我也有类似的问题。这是一个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安装。对我来说,rt.jar丢失了。

在摆弄了半天Eclipse设置却一无所获之后,我发现了这一点。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse的问题,但令我惊讶的是,我看到了这个:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。