電子書籍の厳選無料作品が豊富!

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を読み込むことができます。

なぜ上のやり方では読み込めないか教えてください。

A 回答 (2件)

とりあえずSystem.out.plintlnでプロパティを手作業で設定した場合と、プログラムで設定した場合との値が同じがどうかを確認してはいかがでしょうか。

この回答への補足

System.out.plintlnでプロパティを手作業で設定した場合と、プログラムで設定した場合との値が同じかどうかを確認したところ、同じでした。

System.loadLibrary()関数内で参照するpathは、プログラム内で変更できない、つまり、システム環境変数を使用するという理解でよろしいですか?

補足日時:2004/09/21 10:42
    • good
    • 0

>なぜ上のやり方では読み込めないか



>System.loadLibrary()関数内で参照するpathは、プログラム内で変更できない、つまり、システム環境変数を使用するという理解でよろしいですか?


いや、実装依存では?

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!