web-dev-qa-db-fra.com

Comment remplacez-vous le répertoire approuvé dans Java 9?

Dans Java 8 et versions antérieures, il existe un mécanisme permettant d’utiliser un répertoire approuvé (Java.endorsed.dirs), qui est une collection de bibliothèques remplaçant les implémentations internes du JDK.

Comment puis-je résoudre ce problème dans Java-9? Comme approuvé end où ont été enlevés là?

13
keiki

Dans JDK 9, vous pouvez utiliser modules pouvant être mis à niveau ou placer les fichiers JAR sur le chemin d'accès aux classes.

Le Guide de migration Java 9 indique:

La propriété système Java.endorsed.dirs et le lib/endorsed répertoire ne sont plus présents. Le compilateur javac et Java le lanceur se fermera si l'un ou l'autre est détecté.

Vous finirez par trouver l'erreur si l'un d'entre eux existe sous la forme:

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

Ce mécanisme de substitution aux normes approuvées a été supprimé pour atteindre images d'exécution modulaires et utiliserait maintenant l'image modulaire.

Une image modulaire est composée de modules plutôt que de fichiers JAR. Aller Les normes avancées et approuvées, ainsi que les API autonomes, sont pris en charge dans forme modulaire uniquement, via le concept de modules évolutifs .

9
nullpointer
I also faced same issue, Java versions higher than 8 are not supported by Tomcat 9.
please check bin/catalina.sh for more information.
#Java_ENDORSED_DIRS (Optional) Lists of of colon separated directories
#containing some jars in order to allow replacement of APIs
#created outside of the JCP (i.e. DOM and SAX from W3C).
#It can also be used to update the XML parser implementation.
#This is only supported for Java <= 8.
#Defaults to $CATALINA_HOME/endorsed.
0
Vamsi Veginati