如何让Eclipse Oxygen在Java 9上运行

时间:2017-09-21 06:05:05

标签: macos java-9 eclipse-oxygen

我拼命想让Eclipse Oxygen在Mac OSX上运行Java 9,但我似乎失败了。

到目前为止我已经完成的步骤:

  • 在/Library/Java/JavaVirtualMachines/jdk-9.jdk中安装Java 9 JDK(在已安装的/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk旁边)

  • 安装了#9; Java 9支持(BETA)for Oxygen 4.7"来自Eclipse市场的插件(我安装了用于Java EE开发人员的Oxygen 4.7)

  • 添加了行" - add-modules = java.se.ee"在eclipse.ini中的-vmargs行之后(如此处所示:With java 9 ea, Eclipse fails to install and show error "An error has occurred, see the log file null")以避免启动问题

  • 将设置中的编译器合规级别设置为" 9(测试版)"

  • 将Java 9 SDK添加到已安装的JRE并使其成为默认选择

现在,在程序启动时,我打印出所有System.getProperty()值。我得到了例如

  • java.runtime.version:1.8.0_144-b01

  • java.specification.version:1.8

  • java.vm.specification.version:1.8

  • java.version:1.8.0_144

为什么?还有什么可以告诉Eclipse,为了上帝的缘故,不要使用Java 8而是使用Java 9?

我需要Java 9的一个原因是新的安全功能OCSP Stapling for TLS(参见https://docs.oracle.com/javase/9/security/java-pki-programmers-guide.htm#JSSEC-unique_4307382)。

有系统属性" jdk.tls.server.enableStatusRequestExtension"当前查询时,返回" null",但它应返回" false"使用Java 9:

getLogger().debug("enableStatusRequestExtension: " + System.getProperty("jdk.tls.server.enableStatusRequestExtension"));

我希望你能在这里帮助我。

2 个答案:

答案 0 :(得分:1)

要使用Java 9运行程序,请执行以下操作:

打开首选项并转到' Java>已安装的JRE'。如果缺少Java 9 JDK,请添加它。

在Java项目的属性中,选择' Java Build Path'进入并选择'图书馆'标签。编辑' JRE系统库'输入并选择Java 9 JDK或Java 9 Execution环境。

您还需要查看'运行配置'对于您的程序('运行>运行配置')。检查JRE设置是否为'项目执行环境'或Java 9 JDK /执行环境。

答案 1 :(得分:0)

安装Java 9后,这些步骤对我有用:

  • 右键单击项目并选择“配置构建路径”
  • 选择顶部的“库”标签。如果jre8仍然存在,请选择它并从右侧的选项卡中按“删除”。
  • 选择“添加库”,然后选择“JRE系统库”,选择jre9。
  • 确认“执行环境正在使用JRE9,如图所示
  • 申请并关闭

执行此操作后,请检查~\eclipse\jee-oxygen\eclipse\eclipse.ini上的-vm文件,并确保其中没有-vm. C:/Program Files/Java/jre1.8.0_151/bin选项。如果是,删除整个选项和JRE路径,即: {{1}}。这将导致Eclipse找出要使用的Java版本。

enter image description here

enter image description here

enter image description here