2012-04-26 42 views
1

私はJava Webアプリケーションでghost4jを使用しています。このlibは、JNAを通じてdllをロードします。テストを実行したり、Eclipseでサーバー上で実行したり、テスト目的のメイン関数を実行したりするため、このアプリケーションの作業ディレクトリが変更されるため、クラスパスにdllを配置したいと考えています。ビルドパスのJNA dll

JNAにクラスパスを調べるにはどうすればよいですか?

私は

class.getProtectionDomain().getCodeSource().getLocation().getPath() 

のようなものに思ったが、どのように私はこのSearchPathにこのprogramaticalを追加することができますか?私は

答えて

2

JNAは何も見られなかった場合(java.library.pathとして通常は同じ)システムのデフォルトにフォールバック、ネイティブライブラリをjna.library.pathになりますVMの引数を追加することが好きではありません。

+0

System.setProperty("jna.library.path", "/whatever/path/you/want"); 
iはclass.getProtectionDomain(の組み合わせでこれを使用するおかげで)。getCodeSource()のgetLocation()。ある、getPath() – wutzebaer