无法识别Java代码,Eclipse错误:“目标不是JDK根,找不到Java可执行文件”

mw3dktmi  于 2022-11-04  发布在  Eclipse
关注(0)|答案(3)|浏览(638)

问题:Eclipse不能识别我Mac上的Java代码(例如,main方法、String、Object类......这些都不能识别;甚至没有预先构建的Java类!)。
详细信息:我有最新的Eclipse(2022-09),甚至还试过2022-06。我也有最新的Java版本(终端:“java -version”带来17.0.4.1)。在Eclipse设置中,我看到了以下内容(请参见粉红色了解我是如何获得这些设置的,请参见黄色了解问题):第一次
但我在Finder中有以下内容:

因此,可能JavaSE/SDK文件没有自动导入。因此,我尝试手动导入(见粉红色),但当我从Finder中选择任何JavaSE/JDK文件时,会出现这种情况(黄色):

有什么解决办法吗?谢谢!
注:Java 17和Eclipse都是我大学课程的必修课,实际上,对于当前项目,只有Java 17与我们需要使用的.jars文件兼容,所以没有其他选择。

mbyulnm0

mbyulnm01#

在macOS上Java的正确路径是xxx.jdk文件夹中的Contents/Home
因此,在“Installed JRE”中,您应该具有类似以下内容:

/Library/Java/JavaVirtualMachines/jdk-19.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-18.0.2.jdk/Contents/Home

如运行命令的注解中所述

/usr/libexec/java_home -V

将列出可用的Java安装和正确的路径。

rqenqsqc

rqenqsqc2#

我刚刚找到了解决方案!不要导入整个JDK包。而是导入包含两个文件夹的主文件夹。有关详细信息,请参阅下面的内容。

首先,JDK包(文件夹)或它们的位置没有任何问题(它们正确地位于/Library/Java/JavaVirtualMachines中)。
问题是,在Eclipse中,当我们尝试通过 Project〉Properties〉Java Build Path〉Modulepath导入Java库(例如,Java 17)时:添加库...〉JRE系统库〉下一步〉已安装的JRE...〉添加〉标准VM〉下一步〉目录...(这将打开Finder),此时,我们将选择其中一个包(例如,jdk-17.0.4.1.jdk)。(请参见下文。)不要。相反,双击它。然后你会看到一个名为“Contents”的文件夹。双击它。现在,您将看到几个文件夹。选择“Home”并单击“Open”打开该文件夹。Eclipse将打开它并且不会抛出错误。如果您选择了整个包并打开它,那么Eclipse将抛出一个“Target is not a JDK Root. Java executable was not found”错误。Eclipse似乎没有自动检测到嵌入其中的Home文件夹,因此我们必须进一步手动选择专门用于Eclipse的Home文件夹。
第一页第二页第三页第四页
注意:在发布这篇文章之前,我已经导入了Java 17。我使用上面的步骤返回导入Java 16,这就是为什么我将这篇文章命名为Java16.0.1

ac1kyiln

ac1kyiln3#

1.在您的终端上运行下面的命令,查看您的java在您的mac上的位置。
/usr/libexec/java主目录
1.在Eclipse JRE位置上使用该路径

在您的情况下,Eclipse需要JDK才能工作或识别您的项目,因此请按照以下步骤添加JDK

相关问题