2017-09-26 4 views
8

En Java 8 et avant il existe le mécanisme pour utiliser un répertoire endossé (java.endorsed.dirs), qui est une collection de bibliothèques qui remplace les implémentations internes du JDK.Comment remplacez-vous le répertoire approuvé dans Java 9?

Comment est-ce que je peux résoudre ceci dans Java 9. Comme les dirs endossés où ont-ils été supprimés là?

Répondre

6

Dans JDK 9, vous pouvez utiliser upgradeable modules ou placer les fichiers JAR sur le chemin de classe.

Les Java 9 migration guide états:

La propriété système java.endorsed.dirs et le répertoire lib/endorsed ne sont plus présents. Le compilateur javac et le lanceur java vont quitter si l'un d'eux est détecté.

Vous finiriez trouver l'erreur si l'un de ceux-ci existe comme:

<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. 

Ces mécanismes de substitution approuvée standards a été retiré pour atteindre Modular Run-Time Images et serait maintenant utiliser la image modulaire.

Une image modulaire est composée de modules plutôt que de fichiers JAR. Aller avant, approuvé normes et les API autonomes sont pris en charge en forme modulaire seulement, via le concept de upgradeable modules.