在Eclipse中设置JDK


117

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

我想同时使用这两个项目。最初,我们仅针对1.6进行构建。我在项目设置中看到可以选择1.5、1.6 1.7作为编译器级别。

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

Answers:


145

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

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


我已经通过安装的JRE窗口中的“添加”选项添加了自己的JRE。问题是,当我检查了一个我想让Eclipse使用的程序时,并没有将它作为默认工作区JRE被使用。因此,当我查看项目属性时,“ JRE系统库”仍然存在。当我删除它并选择“使用默认工作区JRE”后,它才接我的更改。当我为工作空间选择其他JRE时,我会以为Eclipse应该更新了我的项目JRE
MayoMan

1
即使它说“使用默认值”,它实际上是在创建/导入项目时使用默认值,并且永远不会回头。
克里斯·格肯

2
对于那些找不到“首选项”项的用户,它位于“窗口”下拉菜单下。
格雷格·奎因

80

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

  • 右键单击您的项目>属性
  • 选择左侧的“ Java构建路径”,然后选择“ JRE系统库”,单击“编辑”。
  • 选择“工作区默认JRE”
  • 单击“已安装的JRE”
  • 如果您在列表中看到想要的JRE,请选择它(选择JDK也可以)
  • 如果没有,请单击搜索…,导航到计算机> Windows C:>程序文件> Java,然后单击确定。
  • 现在,您应该看到所有已安装的JRE,选择所需的一个
  • 单击确定/完成一百万次

容易....不。


3
我还必须将JAVA_HOME环境变量更改为JDK的文件夹,而JRE不够。
Noumenon

2
谢谢乔治!Websters将默认定义为“在没有用户做出选择的情况下程序自动使用的选择”。但是,默认情况下未选择Eclipse的“ Workspace Default JRE”。
JohnC

感谢@Georgie,您节省了我的时间:)
Bhuvan Arora

13

要告诉Eclipse使用JDK,您必须遵循以下步骤。

  1. 选择“ 窗口”菜单,然后选择“首选项”。您会看到一个对话框。
  2. 然后选择Java ---> 已安装的JRE
  3. 然后单击添加并选择标准VM,然后单击下一步
  4. 在JRE主页中,导航到已安装JDK的文件夹(例如,在我的系统中,我的JDK位于C:\ Program Files \ Java \ jdk1.8.0_181 \)
  5. 现在点击Finish

完成上述步骤后,现在完成操作,并且Eclipse将开始使用所选的JDK进行编译。


3

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

您的代码仍将由所选的JDK编译并运行。


2

JDK 1.8具有一些更丰富的功能,该功能不支持许多Eclipse。

如果在Java编译器中未找到Java遵从级别为1.8,则继续安装以下Eclipse 32位或64位,具体取决于您的系统支持。

  1. 安装jdk 1.8,然后在环境变量中设置JAVA_HOME和CLASSPATH。
  2. 下载eclipse-jee-neon-3-win32并解压缩:支持Java 1.8
  3. 或下载适用于Eclipse的Oracle Enterprise Pack(12.2.1.5)并解压缩:支持64位OS的Java 1.8
  4. 右键单击您的项目>属性
  5. 选择左侧的“ Java编译器”,并将Java遵从级别设置为1.8 [从下拉列表1.8中选择]
  6. 尝试运行一个支持Java 8的Java程序,例如lambda表达式,如下所示,如果没有编译错误,则表示您的Eclipse支持Java 1.8,如下所示:

    interface testI{
        void show();
    }
    
    /*class A implements testI{
        public void show(){
            System.out.println("Hello");
        }
    }*/
    
    public class LambdaDemo1 {
        public static void main(String[] args) {
            testI test ;
            /*test= new A();
            test.show();*/
            test = () ->System.out.println("Hello,how are you?"); //lambda 
            test.show();
        }        
    }

欢迎使用StackOverflow,并感谢您的帮助。请考虑通过学习格式化来提高答案的可读性。服用旅游可能会支持你这样做。
Yunnosch

2

配置JDK

  1. Windows->首选项->已安装的JRE,以配置已安装的JDK
  2. 项目属性,Java编译器,启用项目特定的设置(或配置工作区设置),JDK合规性
  3. 项目属性,Java构建路径,库,添加库,JRE系统库,默认工作区或备用JRE(在

马文

但是,如果您使用的是maven,则前提是您拥有最新的JRE(Windows /首选项/已安装的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)

让Maven为您做到这一点,而不是一一更新JRE库。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.