在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之后。如果是,请在eclipse存在的文件夹中找到eclipse.ini文件。然后将-vm keyward下的行更改为jre/bin文件夹的新路径,获取路径go to programfiles -> Java -> jre最新版本-> bin文件夹复制路径并替换在-vm关键字下的行。

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

在eclipse java编译器中取消勾选“用户”—释放选项后,它为我工作

在eclipse第1步:属性-> java编译器-> uchecking 'User '——释放选项'选项->完成

Java版本13.0.1 Eclipse版本:Eclipse IDE for Enterprise Java Developers。

当我从Eclipse Luna导入一个Java 1.8项目到Eclipse Kepler时,就发生了这种情况。

右键单击项目>生成路径>配置生成路径… 选择Libraries选项卡,您应该会看到带有错误的Java 1.8 jre 选择java 1.8 jre并单击Remove按钮 添加库…> JRE系统库>下一个>工作空间默认>完成 单击OK关闭属性窗口 进入项目菜单>清洁…>好吧

Et voilà,这对我有用。

解决我问题的是

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

祝你好运