技術的雑談-java.endorsed.dirs System Propertyについて
環境
JDK1.4.2_08、JDK1.5.0_03 + JacORB、XalanなどのJDKにあるLibraryの機能拡張Library
現象
CLASSPATHにLibraryを含めたけど、それが正しく反映されず、JDK標準のLibraryのClassが使われてしまう。
JDK標準Libraryだと「NotImplemented」などと怒られてしまう。
対処
JacORBやXalanなどのJDK標準Libraryを上書きするようなコンポーネントを使う場合、
- ${JAVA_HOME}\jre\lib\endorsedに.jarを入れる
- または-Djava.endorsed.dirs=で指定したDirectoryに.jarを入れる
のどちらかの方法で可能です。
1.の方法はSystem全体で必ず上書きされ、2.の方法は起動Java VMごとに変更可能です。
用件に合った方法を使いましょう。
尚、CLASSPATHに指定したものはJDK Libraryの後に検索されるみたいです。
endorsed→JDK→CLASSPATHの順??(未確認)
履歴
2005/7/14 -- 初版
技術的雑談へ戻る