我拼命尝试让 Eclipse Oxygen 在 Mac OSX 上运行 Java 9,但不知何故我似乎失败了。
到目前为止我已经完成的步骤:
在 /Library/Java/JavaVirtualMachines/jdk-9.jdk 中安装了 Java 9 JDK(在已安装的 /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk 旁边)
从 Eclipse 市场安装了“Java 9 Support (BETA) for Oxygen 4.7”插件(我安装了 Oxygen 4.7 for Java EE Developers)
在 eclipse.ini 中的 -vmargs 行之后添加了行“--add-modules=java.se.ee”(如此处建议:使用 java 9 ea,Eclipse 无法安装并显示错误“发生错误,请参阅日志文件 null" ) 以避免启动问题
将设置中的编译器合规级别设置为“9(BETA)”
将 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 的一个原因是 TLS 的新安全功能 OCSP 装订(请参阅https://docs.oracle.com/javase/9/security/java-pki-programmers-guide.htm#JSSEC-unique_4307382)。
系统属性“jdk.tls.server.enableStatusRequestExtension”在当前查询时返回“null”,但在 Java 9 中应该返回“false”:
getLogger().debug("enableStatusRequestExtension: " + System.getProperty("jdk.tls.server.enableStatusRequestExtension"));
我希望你能在这里帮助我。