在jdk9 +

时间:2019-05-25 00:19:32

标签: java java-9 bootclasspath

openjdk文档“ JEP 261:模块系统” 指出:

“一个相关选项-Xbootclasspath/a,允许将文件和目录附加到默认的引导程序类路径。此选项以及java.lang.instrument包中的相关API,有时由检测代理使用,因此出于兼容性考虑,仍在运行时支持。

它的值(如果已指定)通过JDK特定的系统属性jdk.boot.class.path.append报告。”

但是,当我尝试使用此功能时,它不起作用。具体来说,我正在使用Java代理进行检测。

JDK7 JDK8 上一切正常。在 JDK9 + 上,-Xbootclasspath/a似乎可以正常工作,但是系统属性jdk.boot.class.path.append始终为null

  

在Java 7/8上:

String bootclasspath = System.getProperty(`sun.boot.class.path`);

按预期工作。

  

在Java 9上:

String bootclasspath = System.getProperty("jdk.boot.class.path.append");

总是返回空字符串。

我添加了一些调试代码以转储所有系统属性,但似乎没有此类属性。

我尝试了jdk-9.0.4jdk-11.0.3,结果相似。

关于如何在JDK9 +上获取bootclasspath的任何想法?

0 个答案:

没有答案