web-dev-qa-db-ja.com

Java 9?の承認済みディレクトリをどのように置き換えますか?

Java 8以前では、JDK内部実装をオーバーライドするライブラリのコレクションである承認済みディレクトリ(Java.endorsed.dirs)を使用するメカニズムが存在します。

Java-9でこれを解決するにはどうすればよいですか?承認された日記として、そこで削除されましたか?

16
keiki

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は、 アップグレード可能なモジュール の概念を介して、モジュール形式でのみサポートされます。

12
Naman
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