Java:Extensions Class Loader在Java 13中从哪里获取类?

Dra*_*max 3 java classloader dynamic-class-loaders classloading java-13

我已经找到的所有文档都提到了“ jre / lib / ext”文件夹,但是在我的JRE 13安装中不存在。

我猜在Java 8(可以在jre / lib / ext中看到罐子)和Java 13之间的某个地方,它们移动了,但是我无法确定何时以及如何完成。

有人可以根据扩展类当前所在的位置来详细说明新JRE的情况吗?

use*_*421 5

Java 9消除了扩展机制,不仅移动了[:-| ,请参阅Java 9 的重要更改和信息

不建议使用的扩展机制已删除。如果${java.home}/lib/ext存在或java.ext.dirs在命令行上指定了系统属性,则运行时将拒绝启动。

而且还更改到安装JDK / JRE图片JDK 9迁移指南

在以前的版本中,扩展机制使运行时环境可以查找和加载扩展类,而无需在类路径中专门命名它们。在JDK 9中,如果需要使用扩展类,请确保JAR文件在类路径上。

  • 最好在启动时发现问题。在JDK 8时间框架中不建议使用扩展机制。-XX:+ CheckEndorsedAndExtDirs选项是JDK 8中的选项,用于快速检测对该机制的依赖性。 (3认同)