这是一个新的 bug 吗?我买了一台新的 Mac 电脑并下载安装了 eclipse。校验和匹配正常。但当我尝试创建一个简单的类来进行基本测试时,我得到了标题中提到的错误。我从未见过 Java 抱怨 object()
构造函数。下面是这个类:
package com.my.ok;
public class First {
}
编辑:
我发现如果将执行环境
设置为javaSE-1.7
,问题会出现。
这是一个新的 bug 吗?我买了一台新的 Mac 电脑并下载安装了 eclipse。校验和匹配正常。但当我尝试创建一个简单的类来进行基本测试时,我得到了标题中提到的错误。我从未见过 Java 抱怨 object()
构造函数。下面是这个类:
package com.my.ok;
public class First {
}
编辑:
我发现如果将执行环境
设置为javaSE-1.7
,问题会出现。
如果您的项目构建路径中未配置JRE
,则会出现此问题。
如何配置JRE:
在Eclipse中:
Build Path
-> Configure Build Path
Libraries tab
,点击Add Library
。JRE System Library
,点击Next
JRE
。 点击Finish
在Netbeans中:
Properties
。Java Platform
。 Source/Binary Format
并根据您的要求选择JDK。说明:
错误是因为您的项目未包含系统库,因此您的类无法找到首先在层次结构中调用的Object()
构造函数。
示例:
package com.my.ok;
public class First {
}
发生的情况是,编译器
默认将您的 First
类扩展到 Object
类
package com.my.ok;
public class First extends Object {
}
但是在您的情况下未找到Object
类,因此出现了此错误。
eclipse.jdt.ls
的人来说,解决方法是适当设置JAVA_HOME
。例如在macOS上:export JAVA_HOME=$(/usr/libexec/java_home)
。 - terje这是Java web 项目中常见的 JRE 配置问题。右键点击你的项目,选择“Build Path”和“Configure Build path”。在“Libraries”选项卡中双击“JRE System Libraries”,然后选择“Default workspace”工作区。如果你没有安装,请先安装然后按照上述流程操作。
前往buildPath,在libraries中双击JRE系统库,选择workspace默认工作区。
我在IntelliJ中遇到了这个问题。我使用的是JDK版本1.8.0_333,但我的Maven运行器版本是11.0.1。当我将其更改为1.8.0_333时,错误消失了。
Maven Runner版本可以在“首选项->构建、执行、部署->构建工具->Maven->Runner”下设置。
我仍然对这个错误感到困惑,因为那个Maven运行器在我所有其他项目中都能正常工作。