如何替换Java 9中的endorsed目录?

kei*_*iki 17 java endorsed java-9

在Java 8和之前的版本中,存在使用支持目录(java.endorsed.dirs)的机制,该目录是覆盖JDK内部实现的库的集合.

如何在Java-9中解决这个问题?在那里被删除的背书去了吗?

Nam*_*man 12

在JDK 9中,您可以使用可升级模块或将JAR文件放在类路径中.

Java的9迁移指南指出:

java.endorsed.dirs系统属性和lib/endorsed 目录不再存在. 如果检测到任何一个,javac编译器和java启动器将退出.

如果存在以下任何一种情况,您最终会发现错误:

<JAVA_HOME>/lib/endorsed is not supported. Endorsed standards and
standalone APIs in modular form will be supported via the concept of
upgradeable modules. Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

删除了这些认可的标准覆盖机制以获得模块化运行时映像,现在将使用模块化映像.

模块化图像由模块而不是JAR文件组成.展望未来,通过可升级模块的概念,仅以模块化形式支持认可标准和独立API .