在Eclipse中导入项目后,我得到以下错误:
无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41在Eclipse Kepler中,通过Window»Preferences»Java»Installed JREs。
在Eclipse中导入项目后,我得到以下错误:
无法解析java.lang.Object类型。它是从必需的.class文件中间接引用的
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41在Eclipse Kepler中,通过Window»Preferences»Java»Installed JREs。
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。
这是一个恼人的Eclipse Bug,似乎时不时就会咬人。请参阅http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html以获得可能的解决方案,否则请尝试以下方法;
关闭项目并重新打开。 清理项目(它将重新构建构建路径,从而使用JDK库重新配置) 或 删除并重新导入项目,如有必要,再次执行上述步骤。
更好的治疗方法是尝试NetBeans而不是Eclipse:-)
以下是我的解决方法: 在Java- adt: Windows -首选项- Java-安装的jre 只需添加另一个JRE,指向JDK文件夹下的“JRE”文件夹。(jdk中包含jre)。请确保您选择了新的jre。
其他的答案都对我没用。但这样做确实做到了:
右键单击包资源管理器中的项目。 清理… 下一个>完成
当我这样做时,Eclipse向我的一个类添加了一个导入。我认为这是因为我保存了一个丢失导入的项目,可能是下班后急于回家。
当我从Eclipse Luna导入一个Java 1.8项目到Eclipse Kepler时,就发生了这种情况。
右键单击项目>生成路径>配置生成路径… 选择Libraries选项卡,您应该会看到带有错误的Java 1.8 jre 选择java 1.8 jre并单击Remove按钮 添加库…> JRE系统库>下一个>工作空间默认>完成 单击OK关闭属性窗口 进入项目菜单>清洁…>好吧
Et voilà,这对我有用。
在添加控制器后,我在eclipse上使用play-java应用程序面临这个问题, 我通过构建路径删除并重新安装JRE,然后删除并导入我的项目,自动解决了这个问题。 谢谢陀螺。
右键单击项目——>在导航器中显示 在导航视图中,您可以看到.classpath文件,删除该文件并构建项目。这对我很管用。 PS.如果你已经将eclipse项目与一些版本控制集成在一起,比如perfce /svn,那么在删除.classpath之前解除项目链接将会很有帮助。
我在eclipse窗口中遇到了同样的问题,我无法从JNI中添加依赖的.class文件。 为了解决同样的问题,我将所有代码移植到NetBeans IDE。
无法添加Eclipse中JNI/JNA文件夹中的所有类文件(JAVA, Windows 7)
这似乎是一个Eclipse错误,尽管重新启动Eclipse对我来说工作得很好,希望这对其他人也有帮助。
编辑:下次我遇到这个问题时,上面的解决方案不起作用-问题是我导入的项目-有错误的java运行时设置-不存在(我的JRE中有java 8,但导入的项目设置为java 11,所以我必须将项目java版本更改为8。另一种选择是在Eclipse首选项中添加更多的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
祝你好运
对我来说,再多的清理、关闭/重新打开项目和ide、删除/添加构建路径中的JRE都没用。
我找到的解决方案是从Eclipse中删除项目(不是从磁盘上),从磁盘上删除项目的Eclipse文件,然后再次导入到Eclipse中。这工作。
如果你正在使用Maven,它甚至更快:
关闭Eclipse(不需要删除项目) 执行命令mvn clean eclipse:clean eclipse:eclipse 打开Eclipse。您的项目仍然存在,问题应该已经解决了。
在Eclipse中使用以前版本的JRE时,是否安装了不同版本的JRE ?
如果不是:
右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成
如果是,那么。
右键单击您的项目->生成路径->配置生成路径 转到“图书馆”标签 移除旧版本 添加库-> JRE系统库->下一步->工作空间默认JRE(或您可以从您的系统中选择替代JRE) ->完成
当我们使用tomcat 6和jdk 1.8版本时,一些特性将无法工作,您得到的这个错误就是其中之一。需要在eclipse中将JDK版本修改为稳定版本(最好是JDK 1.6或JDK 1.8_65)才能解决此错误。
在eclipse中 步骤1:属性-> Java构建路径-> jre系统库(删除) 步骤2:add -> jre system library -> alternate jre -> installed jre -> add -> Standard VM -> (in jre home, place jdk path) -> finish
现在清洗并检查项目
不管这有多简单,请检查您的Java安装。对我来说,rt.jar丢失了。
在摆弄了半天Eclipse设置却一无所获之后,我发现了这一点。 绝望之下,我最终决定尝试从命令行编译项目。我不期望看到任何错误,因为我认为这是一个Eclipse的问题,但令我惊讶的是,我看到了这个:
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 '——释放选项'选项->完成
Java版本13.0.1 Eclipse版本:Eclipse IDE for Enterprise Java Developers。
在我的案例中,这是一个大型模块化项目,“红色X”只在父项目中显示。 我去了父项目
属性->构建路径
a删除了那里的JRE库,就这样,在父项目上再也没有JRE库了。
这些方法对我来说都没用。在我的情况下,问题是我有一些Java代码生成。Java文件,我不小心创建了一个名为Class.java的文件(内容似乎并不重要)。删除文件解决了这个问题。
但是,我已经将路径设置为C:\Program Files\Java\ jdk1.6.0_41,来自eclipse开普勒工具栏->windows->首选项->java->installed jre
如果您已经添加了JRE,但仍然显示错误。试着跟随
右键单击您的项目
项目->构建路径->配置构建路径-> java构建路径-> libraries选项卡->选择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。这为我解决了问题。
build.gradle
plugins {
id 'java'
id 'eclipse'
}
然后运行
gradle cleanEclipse eclipse