在Eclipse中导入项目后,我得到以下错误:
无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的
然而,我已经在Eclipse Kepler中将路径设置为C:\Program Files\Java\ jdk1.6.0_41,通过窗口»首选项»Java»已安装的jre。
Object类是java中所有类的基类,如果你没有这个,这意味着你的构建路径中没有jdk库。我不太了解开普勒,但你需要确保它指向正确的jdk编译和正确的jre运行你的java应用程序。
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41 from eclipse开普勒工具栏->windows->首选项->java->installed jre . exe
您正在尝试在首选项中指向jdk而不是jre。工具栏->windows->首选项->java->installed jre应该指向jre而不是jdk。
这是一个恼人的Eclipse Bug,似乎时不时就会咬人。请参阅http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html以获得可能的解决方案,否则请尝试以下方法;
关闭项目并重新打开。
清理项目(它将重新构建构建路径,从而重新配置JDK库)
或
更好的治疗方法是尝试NetBeans而不是Eclipse:-)
其他的答案都对我没用。但这样做确实做到了:
当我这样做时,Eclipse向我的一个类添加了一个导入。我认为这是因为我保存了一个丢失导入的项目,可能是下班后急于回家。
以下步骤可能会有所帮助:
另一个问题可能是Android项目构建目标没有设置。
当我从Eclipse Luna导入一个Java 1.8项目到Eclipse Kepler时,就发生了这种情况。
Et voilà,这对我有用。
我在添加控制器后,在eclipse上使用play-java应用程序面临这个问题, 我通过构建路径删除并重新安装JRE,然后删除并导入我的项目,自动解决了这个问题。 谢谢陀螺。< / p >
右键单击项目——>在导航器中显示 在导航视图中,您可以看到.classpath文件,删除该文件并构建项目。这对我很管用。 PS.如果你已经将eclipse项目与一些版本控制集成在一起,比如perfce /svn,那么在删除.classpath之前解除项目链接将会很有帮助
无法添加Eclipse (JAVA, Windows 7)中JNI/JNA文件夹中的所有类文件
这似乎是一个Eclipse错误,尽管重新启动Eclipse对我来说工作得很好,希望这对其他人也有帮助。
编辑:下次我遇到这个问题时,上面的解决方案不起作用-问题是我导入的项目-有错误的java运行时设置-不存在(我的JRE中有java 8,但导入的项目设置为java 11,所以我必须将项目java版本更改为8。另一种选择是在Eclipse首选项中添加更多的JRE -如果项目确实需要更新的JRE才能工作)
解决我问题的是
1)在不带空格的目录下安装jdk:
C:/Java
而不是
C:/Program Files/Java
这是Windows中的一个已知问题。我也修复了JAVA_HOME
JAVA_HOME
2)我的笔记本电脑上有java 7和java 8。所以我使用eclipse.ini定义了jvm。如果你的eclipse.ini中没有-vm项,这不是一个强制步骤。我更新:
eclipse.ini
-vm
C:/Java/jdk1.7.0_79/jre/bin/javaw.exe
而不是:
C:/Java/jdk1.7.0_79/bin/javaw.exe
祝你好运
对我来说,再多的清理、关闭/重新打开项目IDE、删除/添加构建路径中的JRE都没用。
我找到的解决方案是从Eclipse中删除项目(不是从磁盘上),从磁盘上删除项目的Eclipse文件,然后再次导入到Eclipse中。这工作。
如果你正在使用Maven,它甚至更快:
mvn clean eclipse:clean eclipse:eclipse
在Eclipse中使用以前版本的JRE时,是否安装了不同版本的JRE ?
如果不是:
如果是,那么。
当我们使用tomcat 6和jdk 1.8版本时,一些特性将无法工作,您得到的这个错误就是其中之一。需要在eclipse中将JDK版本修改为稳定版本(最好是JDK 1.6或JDK 1.8_65)才能解决此错误。
现在清洗并检查项目
发生在我在eclipse中安装了一些更新后,但忘记重新启动之后。所以重启eclipse可能会有所帮助。
不管这有多简单,请检查您的Java安装。对我来说,Rt.jar丢失了。
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
我不知道我的Java安装发生了什么,rt.jar去了哪里。无论如何,这都是一个提醒,提醒你检查失败清单,并勾选所有的选项,不管它们有多不可思议。那会节省我很多时间。
我得到这个错误,因为我已经安装了“Eclipse IDE for Enterprise Java Developers”,我卸载了这个,并安装了“Eclipse IDE for Java Developers”。问题为我解决了。
在eclipse java编译器中取消勾选“用户”—释放选项后,它为我工作
在eclipse第1步:属性-> java编译器-> uchecking 'User '——释放选项'选项->完成
属性->构建路径
a删除了那里的JRE库,就这样,在父项目上再也没有JRE库了。
这些方法对我来说都没用。在我的情况下,问题是我有一些Java代码产生.java文件,我不小心创建了一个名为Class.java的文件(内容似乎并不重要)。删除文件解决了这个问题。
.java
Class.java
但是我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41 from eclipse Kepler工具栏->windows->preferences->java->installed jre
如果您已经添加了JRE,但仍然显示错误。试着跟随
右键单击您的项目
项目→构建路径→配置构建路径->Java构建路径->图书馆TAB ->选择JRE系统库,点击编辑按钮->如果选择替代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之后。如果是,请在eclipse存在的文件夹中找到eclipse.ini文件。然后将-vm keyward下的行更改为jre/bin文件夹的新路径,以获得路径go to programfiles ->java→Jre最新版本->Bin文件夹复制路径并在-vm关键字下替换。
当类/java-项目无法解析正确的JDK库时,会出现此错误消息。比如说,在我的主要项目A中,我得到了这个错误。项目A对项目B有一个maven依赖关系。项目B指向JDK-11。项目A指向JDK-9
更正我做:使项目也指向JDK-11。这为我解决了问题
对于Gradle用户,使用eclipse插件。我没有直接使用eclipse,而是在Neovim上使用jdtls。这为我解决了问题。
jdtls
plugins { id 'java' id 'eclipse' }
然后运行
gradle cleanEclipse eclipse