- ベストアンサー
プログラム内でのPath設定
javaのプログラム内でパスを設定することはできますか? public class Test { public static void main(String[] args) { System.setProperty("java.library.path", System.getProperty("java.library.path") + ";C:/library/path"); System.loadLibrary("library"); } } 上のようにすると以下のエラーが出ます。 java.lang.UnsatisfiedLinkError: no library in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) at Test.main(Test.java:6) Exception in thread "main" 環境変数「PATH」に C:/library/path を設定すると System.loadlibrary("library") で libraryを読み込むことができます。 なぜ上のやり方では読み込めないか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずSystem.out.plintlnでプロパティを手作業で設定した場合と、プログラムで設定した場合との値が同じがどうかを確認してはいかがでしょうか。
その他の回答 (1)
- kacchann
- ベストアンサー率58% (347/594)
>なぜ上のやり方では読み込めないか >System.loadLibrary()関数内で参照するpathは、プログラム内で変更できない、つまり、システム環境変数を使用するという理解でよろしいですか? いや、実装依存では?
補足
System.out.plintlnでプロパティを手作業で設定した場合と、プログラムで設定した場合との値が同じかどうかを確認したところ、同じでした。 System.loadLibrary()関数内で参照するpathは、プログラム内で変更できない、つまり、システム環境変数を使用するという理解でよろしいですか?