In Java 8 und früher gibt es den Mechanismus zur Verwendung eines indossierten Verzeichnisses (java.endorsed.dirs), bei dem es sich um eine Sammlung von Bibliotheken handelt, die JDK-interne Implementierungen überschreibt.
Wie kann ich das in Java 9 lösen? Wie wurden die unterstützten Verzeichnisse dort entfernt?
In JDK 9 können Sie erweiterbare Module oder verwenden Setzen Sie die JAR-Dateien in den Klassenpfad.
Der Java 9 Migrationsleitfaden sagt:
Die Systemeigenschaft
java.endorsed.dirs
und dielib/endorsed
Verzeichnis sind nicht mehr vorhanden. Derjavac
Compiler undjava
Launcher wird beendet, wenn eine der beiden gefunden wird.
Sie würden den Fehler finden, wenn einer von diesen als existiert:
%Vor%
Dieser Override-Mechanismus für unterstützte Standards wurde entfernt, um Modular Run-Time Images zu erhalten und würde nun das modulare Image verwenden.
Ein modulares Bild besteht aus Modulen und nicht aus JAR-Dateien. Gehen Vorwärts, indossierte Standards und eigenständige APIs werden unterstützt nur modulare Form, über das Konzept erweiterbare Module .