ChatGPT解决这个技术问题 Extra ChatGPT

在 Eclipse 中设置 JDK

我有两个 JDK,用于 Java 6 和 7。

我想使用两者来构建我的项目。最初我们只针对 1.6 构建。我在我的项目设置中看到我可以选择 1.5、1.6 1.7 作为编译器级别。

这些选项是如何添加到 IDE 中的?我从未安装过 Java 1.5。假设我想要 Java 1.4。我怎样才能让它出现在列表中?我在我的 IDE 首选项中添加了两个不同的 JRE,但这些不是出现在下拉列表中的内容。


M
Manuel Jordan

您在 Window -> Preferences -> Java -> Installed JRE's tab 中管理可用编译器的列表。

在项目构建路径配置对话框的库选项卡下,您可以删除 JRE System Library 的条目,单击 Add Library 并选择已安装的 JRE 进行编译。一些编译器可以配置为在后级编译器版本上进行编译。我认为这就是您看到附加版本选项的原因。


我通过已安装 JRE 窗口中的“添加”选项添加了自己的 JRE。问题是当我检查我希望 Eclipse 使用的那个时,它没有被选为默认工作区 JRE。因此,当我查看我的项目属性时,“JRE 系统库”仍然存在。当我删除它并选择“使用默认工作区 JRE”时,它才接受了我的更改。当我为我的工作区选择不同的 JRE 时,我会认为 Eclipse 应该更新了我的项目 JRE
即使它说“使用默认值”,它实际上是在创建/导入项目时使用默认值并且它永远不会回头。
对于那些找不到“首选项”项目的人,它位于“窗口”下拉菜单下。
我通过 windows 首选项路由添加了一个新的 JDK,然后删除并重新导入了我的所有项目,Eclipse 仍然选择了以前的 JDK。我不得不手动更新项目构建路径配置。 Eclipse 永远不会让人失望
G
Georgie

正如 MayoMan 所提到的,可能需要一些额外的步骤来正确设置项目和默认工作区 JRE。这是 Eclipse Luna 中的完整序列:

右键单击您的项目>属性

选择左侧的“Java Build Path”,然后选择“JRE System Library”,点击Edit…

选择“工作区默认 JRE”

单击“已安装的 JRE”

如果您在列表中看到所需的 JRE,请选择它(选择 JDK 也可以)

如果没有,请单击搜索...,导航到计算机 > Windows C: > 程序文件 > Java,然后单击确定

现在您应该看到所有已安装的 JRE,选择您想要的

单击确定/完成一百万次

容易……不。


我也不得不将我的 JAVA_HOME 环境变量更改为 JDK 的文件夹,而 JRE 还不够。
谢谢乔治! Websters 将默认定义为“在没有用户做出选择的情况下由程序自动使用的选择”。然而,Eclipse 的“Workspace Default JRE”默认没有被选中。
谢谢@Georgie,你节省了我的时间:)
G
Gunta Vaishnavi

要告诉 eclipse 使用 JDK,您必须按照以下步骤操作。

选择窗口菜单,然后选择首选项。您可以看到一个对话框。然后选择 Java ---> Installed JRE's 然后单击 Add 并选择 Standard VM 然后单击 Next 在 JRE 主页中,导航到您已安装 JDK 的文件夹(例如,在我的系统中,我的 JDK 位于 C:\Program Files \Java\jdk1.8.0_181\ ) 现在点击完成。

完成上述步骤后,您现在就完成了,eclipse 将开始使用选定的 JDK 进行编译。


J
Jose Manuel Gomez Alvarez

配置 JDK

Windows -> Preferences -> Installed JREs, to configure the installed JDKs Project Properties, Java Compiler, Enable project specific settings (or configure Workspace settings), JDK Compliance Project Properties, Java Build Path, Libraries, Add Library, JRE system library, Workspace默认或备用 JRE(在

马文

但是,如果您使用的是 maven,前提是您拥有最新的 JRE(Windows/Preferences/Installed JRE)——例如 JDK 1.8

可以通过配置maven-compiler-plugin源和目标属性来选择级别1.6、1.7、1.8,像这样

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

理想情况下,如果您有一个父 pom,您可以在一个地方为父 pom 中的所有模块(Eclipse 项目)执行此操作。

源和目标 如果我们想使用 Java 8 语言特性,-source 应该设置为 1.8。此外,要使编译的类与 JVM 1.8 兼容,–target 值应为 1.8。

一次更新在许多项目中损坏的 JRE 库(使用 Maven)

与其一一更新 JRE 库,不如让 Maven 为您完成。

选择项目并右键单击 Maven -> Update Project,将系统库设置为已安装 JDK 的路径,以防路径损坏(因为您安装了新的 JDK 或从另一台计算机导入等)和根据 pom.xml 中的 maven 源和目标设置设置 JDK 合规性。


G
Garrett Hall

Eclipse 的编译器可以确保您的 java 源代码符合给定的 JDK 版本,即使您没有安装该版本。此功能对于确保代码的向后兼容性很有用。

您的代码仍将由您选择的 JDK 编译和运行。


J
JuanMoreno

JDK 1.8 有一些不支持许多 eclipse 的更丰富的功能。

如果您在 java 编译器中没有找到 1.8 的 java 合规级别,请继续安装以下 eclipse 32 位或 64 位,具体取决于您的系统支持。

安装 jdk 1.8,然后在环境变量中设置 JAVA_HOME 和 CLASSPATH。下载 eclipse-jee-neon-3-win32 并解压缩:支持到 java 1.8 或下载 Oracle Enterprise Pack for Eclipse (12.2.1.5) 并解压缩:支持 64 位操作系统的 java 1.8 右键单击您的项目 > 属性 选择“Java 编译器”在左侧并将 java 合规级别设置为 1.8 [从下拉列表中选择 1.8] 尝试运行一个支持 java 8 的 java 程序,如下面的 lambda 表达式,如果没有编译错误,则意味着您的 eclipse 支持 java 1.8,如下所示:interface testI { 无效显示(); } /*A 类实现 testI{ public void show(){ System.out.println("Hello"); } }*/ public class LambdaDemo1 { public static void main(String[] args) { testI test ; /*测试=新的A(); test.show();*/ test = () ->System.out.println("你好,你好吗?"); //lambda test.show(); } }


欢迎来到 StackOverflow 并感谢您尝试提供帮助。请考虑通过学习格式来提高答案的可读性。服用 tour 可能会支持您这样做。