在Eclipse中导入项目后出现以下错误:
无法解析java.lang.Object类型。它是从所需的.class文件间接引用的
但是,我已经在Eclipse Kepler中通过菜单»窗口»首选项»Java»已安装的JRE将路径设置为 C:\ Program Files \ Java \ jdk1.6.0_41
答案 0 :(得分:231)
这是一个令人烦恼的Eclipse Bug,似乎偶尔会咬人。有关可能的解决方案,请参阅http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html,否则请尝试以下操作;
清理项目(它将重建构建路径,从而使用JDK库重新配置)
或者
删除并重新导入项目,如有必要,请再次执行上述步骤。
更好的解决方法是尝试NetBeans而不是Eclipse: - )
答案 1 :(得分:202)
以下步骤可能有所帮助:
答案 2 :(得分:10)
以下是我如何解决它: 在Java-ADT中:Windows - 首选项 - Java - 已安装的JRE 只需添加另一个JRE,指向JDK文件夹下的'jre'文件夹。 (jre包含在jdk中)。确保选择了新的jre。
答案 3 :(得分:8)
当我从Eclipse Luna将Eclipse 1.8项目导入Eclipse Kepler时,发生了这种情况。
Etvoilà,这对我有用。
答案 4 :(得分:6)
Object类是java中所有类的基类,如果您缺少它,则意味着您的buildpath中没有jdk库。我不太了解开普勒,但你需要确保它指向一个正确的jdk进行编译,并且正确的jre用于运行你的java应用程序。
但是我已将路径设置为C:\ Program Files \ Java \ jdk1.6.0_41 eclipse Kepler toolbar-> windows-> preferences-> java->安装jre
您正试图在偏好中指向jdk而不是jre。 toolbar-> windows-> preferences-> java->安装的jre应该指向jre而不是jdk。
答案 5 :(得分:4)
其他答案都不适合我。但这样做了:
当我这样做时,Eclipse在我的一个类中添加了一个导入。我想这是因为我保存了我的项目,导致缺少导入,可能是下班后赶回家。
答案 6 :(得分:3)
无需清理,关闭/重新打开项目和IDE,在构建路径中删除/添加JRE对我有用。
我找到的解决方案是从Eclipse(而不是从磁盘)中删除项目,从磁盘中删除项目的Eclipse文件,然后再次导入Eclipse。这很有用。
如果您使用Maven,速度会更快:
mvn clean eclipse:clean eclipse:eclipse
答案 7 :(得分:3)
右键单击项目 - >在导航器中显示 在导航器视图中,您可以看到.classpath文件,删除此文件并构建项目。这对我有用。 PS。如果你已经使用某些版本控制(如perfoce / svn)集成了eclipse项目,那么在删除.classpath之前取消链接项目将会很有帮助。
答案 8 :(得分:3)
另一个问题可能是未设置Android项目构建目标。
答案 9 :(得分:2)
在添加控制器后,我在eclipse上遇到了play-java应用程序这个问题, 我通过构建路径删除并重新安装了JRE,然后删除并导入了我自动解决此问题的项目。 谢谢陀螺。
答案 10 :(得分:2)
这似乎是一个Eclipse错误,虽然重新启动Eclipse对我来说非常有用,希望这也有助于其他人。
答案 11 :(得分:2)
解决了我的问题是
1)在没有空格的目录下安装jdk:
C:/Java
而不是
C:/Program Files/Java
这是Windows中的一个已知问题。我还修复了JAVA_HOME
2)我的笔记本电脑上有java 7和java 8。所以我使用eclipse.ini
定义了jvm。如果您的-vm
中没有eclipse.ini
条目,则这不是强制性步骤。我更新了:
C:/Java/jdk1.7.0_79/jre/bin/javaw.exe
而不是:
C:/Java/jdk1.7.0_79/bin/javaw.exe
祝你好运
答案 12 :(得分:2)
之后是否安装了不同版本的JRE,同时在Eclipse中使用以前版本的JRE。
如果不是:
如果是,则
答案 13 :(得分:1)
我在eclipse窗口遇到同样的问题,我无法从JNI添加依赖的.class文件。 为了解决这个问题,我将所有代码移植到NetBeans IDE。
Can not add all the classes files from the JNI/JNA folder in Eclipse (JAVA, Windows 7)
答案 14 :(得分:1)
虽然我们正在使用tomcat 6和jdk 1.8版本,但某些功能将无法正常工作,而您获得的此错误就是其中之一。你需要在eclipse中将jdk版本更改为稳定版本(首选jdk 1.6或jdk 1.8_65)以解决此错误。
在日食中第1步:属性 - > java构建路径 - > jre系统库(删除) 第2步:添加 - > jre系统库 - >备用jre - >安装jre - >添加 - >标准VM - > (在家里,放置jdk路径) - >光洁度
现在清理并检查项目
答案 15 :(得分:1)
我遇到了类似的问题。这是一个带有以下 pom.xml 片段的 maven 项目。
<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 版本。
答案 16 :(得分:0)
在我在eclipse中安装了一些更新但之后忘了重新启动之后,我很高兴。所以重启eclipse可能会有所帮助。
答案 17 :(得分:0)
这可能很琐碎,请检查Java安装。对我来说, rt.jar不见了。
在用Eclipse设置花了半天时间之后,我发现了这一点。 绝望的是,我最终决定尝试从命令行编译项目。我没想到会出现任何错误,因为我认为这是Eclipse的问题,但令我惊讶的是,我看到了这一点:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这提醒人们仔细检查失败列表并勾选所有复选框,无论它们多么令人难以置信。这样可以节省很多时间。
答案 18 :(得分:0)
我收到此错误,是因为我已经安装了“用于Java企业版开发人员的Eclipse IDE”,我卸载了它并安装了“ Java Java开发人员版的Eclipse IDE”。问题为我解决了。
答案 19 :(得分:0)
在Eclipse Java编译器中取消选中“用户”-“发布选项”后,它对我有用
在Eclipse步骤1中:属性-> Java编译器-> u选中“用户'-发布选项'选项->完成
Java版本13.0.1 Eclipse版本:适用于企业Java开发人员的Eclipse IDE。
答案 20 :(得分:0)
在我的情况下,这是一个大型模块化项目,而 red X 仅在父项目中显示。 我去了父项目
属性->内置路径
a在那里删除了JRE库,仅此而已,父项目上再也没有JRE库。
答案 21 :(得分:0)
这些解决方案都不适合我。就我而言,问题是我有一些Java代码可以生成.java
文件,而我不小心创建了一个名为Class.java
的文件(内容似乎无关紧要)。删除文件即可解决问题。
答案 22 :(得分:0)
但是我已将路径从eclipse Kepler工具栏-> windows-> preferences-> java->已安装的jre中设置为C:\ Program Files \ Java \ jdk1.6.0_41
如果您已经添加了JRE并且仍然显示错误。尝试跟随
右键单击您的项目
项目->构建路径->配置构建路径-> Java构建路径->库选项卡->选择JRE系统库,然后单击编辑按钮->如果选择了替代JRE,则选择工作区默认JRE。
这就是我的错误消失的方式。
答案 23 :(得分:0)
有时会在更新 JAVA 后发生此错误。如果是这样,请转到 eclipse 所在文件夹中的 eclipse.ini 文件。然后将-vm键下的那一行改成jre/bin文件夹的新路径,得到路径到programfiles->java->jre最新版本->bin文件夹复制路径并在-vm关键字下替换。>