sun.boot.library.path

Javaの標準パッケージの中からしかアクセスできないクラスを参照する必要があったので、参照したいpackageの中に新規のクラスを追加することで対処した。その場合、そのクラスはbootclassに指定しなければならなくなる。
bootclassにすると、そのクラスからロードしているnative libraryを見つけることが出来なくてエラーになった。LD_LIBRARY_PATH, java.library.pathで指定しても効果がない。どうすればよいのかわからなくて結局、$JDK_HOME/jre/lib/i386の中にnative libraryを放り込んで済ませていた。

今日、正しい方法がわかった。bootclassの場合にはjava.library.pathではなくsun.boot.library.pathプロパティで指定すれば良い。

java -Dsun.boot.library.path=.  -Xbootclasspath/a:xxx.jar