Eclipseプロジェクト全体に対してJava.library.pathを設定するにはどうすればよいですか?私はOS固有のファイルに依存し、.dll/.so/.jnilibを見つける必要があるJavaライブラリを使用しています。しかし、アプリケーションは常にそれらのファイルがライブラリパス上に見つからないというエラーメッセージを表示して終了します。
ライブラリパスを使用するようにこのプロジェクト全体を構成したいと思います。 Eclipseでいくつかの実行設定にVM引数としてパスを追加しようとしましたが、うまくいきませんでした。
ライブラリパスを台無しにしないでください。 Eclipseはそれ自身を構築します。
代わりに、プロジェクトのライブラリ設定に行き、ネイティブライブラリを必要とするjar/etcごとに、Librariesタブで展開してください。ツリービューでは、各ライブラリにsource/javadocとネイティブライブラリの場所に関する項目があります。
具体的には:Project
を選択し、右クリックします - > プロパティ/Javaビルドパス/ライブラリタブ、.jarを選択、展開、展開 - ネイティブライブラリの場所、クリック編集、フォルダ選択ダイアログが表示されます)
Eclipseで既に正しく設定されているものを壊す可能性があるため、コマンドラインでライブラリパスを使用するのは最後の努力です。
それをVM引数として追加する場合は、必ず-D
のプレフィックスを付けてください。
-Djava.library.path=blahblahblah...
承認された答えで説明されている方法を除いて、あなたがあなたのプロジェクトに単一のネイティブライブラリがある場合は別の方法があります。
特定のアプリケーションの起動時には、jimの指示に従って実行できます。
ワークスペース全体に設定したい場合は、下に設定することもできます。
Window->
Preferences->
Java->
Installed JREs
各JREには「Default VM arguments」があります(実行構成にVM argsが設定されている場合、これは完全に無視されます)
異なるJRE/JDKを異なるパラメータで設定して、いくつかのプロジェクトで1つを使用し、他のプロジェクトで別のプロジェクトを使用することもできます。
-Djava.library.path=yourPath
にEclipse.ini
を追加するだけです。
* .dllファイルをc:/ windowsに追加するだけです。
あなたは、次のコードからJava.library.pathを取得することができます:そしてあなたが得るの任意のパスの下にあなたのdllファイルを追加する
import Java.util.logging.Logger;
public class Test {
static Logger logger = Logger.getLogger(Test.class.getName());
public static void main(String[] args) {
logger.info(System.getProperty("Java.library.path"));
}
}
Java.library.pathを設定したい理由がもう1つあると思います。 Subversionには多くのライブラリが付属していますが、Java.library.pathを追加できない限り、Eclipseはこれらを認識しません。たとえば、私はOS-Xを使っているので、ライブラリは\ opt\Subversion\libの下にあります。たくさんありますので、それらをそのままにしておきたいのです(標準のlibディレクトリにコピーしないでください)。
プロジェクト設定ではこれは解決されません。
上記の解決策はどれも私にとってはうまくいきませんでした(Eclipse JunoとJDK 1.7_015)。私はそれらをproject_folder/libからproject_folderに移動したときにだけ、Javaはライブラリを見つけることができました。
実行をクリック
[デバッグ]をクリックします。
新しいJavaアプリケーション
[引数]タブをクリックします
2番目のボックス([VM Arguments])にと入力し、-Dエントリを追加します。
-Xdebug -verbose:gc -Xbootclasspath/p:jar/vbjorb.jar;jar/Oracle9.jar;classes;jar/mq.jar;jar/xml4j.jar -classpath -DORBInitRef=NameService=iioploc://10.101.2.94:8092/NameService
等...
別の解決策は '実行設定'を開き、次に '環境'タブでカップル{Path、Value}を設定することです。
たとえば、プロジェクトのルートにある 'lib'ディレクトリを追加するには、
Path <- ${workspace_loc:name_of_the_project}\lib
PATHにネイティブライブラリフォルダを含めることを忘れないでください。
私はMac OS X YosemiteとNetbeans 8.02を使用していますが、同じエラーが発生し、私が見つけた簡単な解決策は上記のようなものです。これはネイティブライブラリをプロジェクトに含める必要がある場合に便利です。それで、Netbeansのために次のことをしなさい:
1.- Right click on the Project
2.- Properties
3.- Click on RUN
4.- VM Options: Java -Djava.library.path="your_path"
5.- for example in my case: Java -Djava.library.path=</Users/Lexynux/NetBeansProjects/NAO/libs>
6.- Ok
私はそれが誰かに役立つことを願っています。私が解決策を見つけたリンクはこちらです: Java.library.path - それは何ですか?そしてどのように使用するのですか?
プロジェクトを直接右クリックしてもJava Build Pathが表示されない場合があります。それからプロパティに行きます....
次にJavaビルドパスをクリックします
タブをクリックして外部jarファイルを追加し、uがjarファイルを保存している場所のコンピュータファイルのパスを指定します。
これは別の修正です。
私のビルドシステム(Gradle)は、Eclipseビルドパスに必要なネイティブライブラリ(dll)を追加しました(プロジェクトを右クリック - >プロパティ - > Javaビルドパス - >ライブラリ)。ネイティブのdllライブラリをEclipseのクラスパスに追加しないようにビルドシステムに指示することで、問題は解決しました。
eclipseにvm引数を追加できます。
例:-Djava.ext.dirs = cots_lib
cots_libは外部フォルダライブラリです。