引导类路径

在检查扩展和应用程序类路径之前,普通的 Java 类加载器首先在引导类路径中查找类。默认情况下,引导类路径由“rt.jar”文件和 JRE 安装提供的一些其他重要 JAR 文件组成。这些提供了标准 Java SE 类库中的所有类,以及各种内部实现类。

在正常情况下,你不需要关心这一点。默认情况下,javajavac 等命令将使用适当版本的运行时库。

偶尔,有必要通过在标准库中使用替代版本的类来覆盖 Java 运行时的正常行为。例如,你可能会在运行时库中遇到 show stopper 错误,而这些错误无法通过常规方法解决。在这种情况下,可以创建包含已更改类的 JAR 文件,然后将其添加到启动 JVM 的引导类路径中。

java 命令提供以下 -X 选项来修改引导类路径:

  • -Xbootclasspath:<path> 用提供的路径替换当前的引导类路径。
  • -Xbootclasspath/a:<path> 将提供的路径附加到当前引导类路径。
  • -Xbootclasspath/p:<path> 将提供的路径添加到当前引导类路径。

请注意,当使用 bootclasspath 选项替换或覆盖 Java 类(等等)时,你在技术上修改 Java。有可能是发牌的影响,如果你然后分发代码。 (请参阅 Java 二进制许可证的条款和条件……并咨询律师。)