2

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

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

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

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

JDK7JDK8上一切正常。在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.4并且jdk-11.0.3得到了类似的结果。

关于如何在 JDK9+ 上获取引导类路径的任何想法?

4

0 回答 0