Java 8以前では、JDK内部実装をオーバーライドするライブラリのコレクションである承認済みディレクトリ(Java.endorsed.dirs)を使用するメカニズムが存在します。
Java-9でこれを解決するにはどうすればよいですか?承認された日記として、そこで削除されましたか?
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.
Modular Run-Time Images を達成するために、これらの承認済み標準オーバーライドメカニズムが削除され、モジュラーイメージが使用されるようになりました。
モジュラーイメージは、JARファイルではなくモジュールで構成されます。今後、承認された標準とスタンドアロンAPIは、 アップグレード可能なモジュール の概念を介して、モジュール形式でのみサポートされます。
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.