web-dev-qa-db-ja.com

EclipseからJava.library.pathを設定する方法

Eclipseプロジェクト全体に対してJava.library.pathを設定するにはどうすればよいですか?私はOS固有のファイルに依存し、.dll/.so/.jnilibを見つける必要があるJavaライブラリを使用しています。しかし、アプリケーションは常にそれらのファイルがライブラリパス上に見つからないというエラーメッセージを表示して終了します。

ライブラリパスを使用するようにこのプロジェクト全体を構成したいと思います。 Eclipseでいくつかの実行設定にVM引数としてパスを追加しようとしましたが、うまくいきませんでした。

204
Janusz

ライブラリパスを台無しにしないでください。 Eclipseはそれ自身を構築します。

代わりに、プロジェクトのライブラリ設定に行き、ネイティブライブラリを必要とするjar/etcごとに、Librariesタブで展開してください。ツリービューでは、各ライブラリにsource/javadocとネイティブライブラリの場所に関する項目があります。

具体的には:Projectを選択し、右クリックします - > プロパティ/Javaビルドパス/ライブラリタブ、.jarを選択、展開、展開 - ネイティブライブラリの場所、クリック編集、フォルダ選択ダイアログが表示されます)

Eclipseで既に正しく設定されているものを壊す可能性があるため、コマンドラインでライブラリパスを使用するのは最後の努力です。

Native library location

289
John Gardner

それをVM引数として追加する場合は、必ず-Dのプレフィックスを付けてください。

-Djava.library.path=blahblahblah...
35
matt b

承認された答えで説明されている方法を除いて、あなたがあなたのプロジェクトに単一のネイティブライブラリがある場合は別の方法があります。

  • [プロジェクトのプロパティ] - > [Javaビルドパス] - > [ソース]タブに、ソースフォルダのリストがあります。
  • 各エントリには「ネイティブライブラリの場所」があり、これもワークスペース内のパスをサポートします。
  • これによりEclipseはそれをあなたのJava.library.pathに追加します。
22
schieferstapel

特定のアプリケーションの起動時には、jimの指示に従って実行できます。

ワークスペース全体に設定したい場合は、下に設定することもできます。

Window->
  Preferences->
    Java->
      Installed JREs

各JREには「Default VM arguments」があります(実行構成にVM argsが設定されている場合、これは完全に無視されます)

異なるJRE/JDKを異なるパラメータで設定して、いくつかのプロジェクトで1つを使用し、他のプロジェクトで別のプロジェクトを使用することもできます。

11

-Djava.library.path=yourPathEclipse.iniを追加するだけです。

8
sonaht

* .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"));
    }
}
6
janwen

Java.library.pathを設定したい理由がもう1つあると思います。 Subversionには多くのライブラリが付属していますが、Java.library.pathを追加できない限り、Eclipseはこれらを認識しません。たとえば、私はOS-Xを使っているので、ライブラリは\ opt\Subversion\libの下にあります。たくさんありますので、それらをそのままにしておきたいのです(標準のlibディレクトリにコピーしないでください)。

プロジェクト設定ではこれは解決されません。

5
user825628

上記の解決策はどれも私にとってはうまくいきませんでした(Eclipse JunoとJDK 1.7_015)。私はそれらをproject_folder/libからproject_folderに移動したときにだけ、Javaはライブラリを見つけることができました。

5
Günter

実行をクリック
[デバッグ]をクリックします。
新しい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  

等...

4
jim

別の解決策は '実行設定'を開き、次に '環境'タブでカップル{Path、Value}を設定することです。

たとえば、プロジェクトのルートにある 'lib'ディレクトリを追加するには、

    Path  <-  ${workspace_loc:name_of_the_project}\lib
3
Aurelien

PATHにネイティブライブラリフォルダを含めることを忘れないでください。

1
JuanFran Adame

私は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 - それは何ですか?そしてどのように使用するのですか?

1
Alex Ventura

プロジェクトを直接右クリックしてもJava Build Pathが表示されない場合があります。それからプロパティに行きます.... Right Click and go to properties

次にJavaビルドパスをクリックしますProperties Scrren

Click on add external jar

タブをクリックして外部jarファイルを追加し、uがjarファイルを保存している場所のコンピュータファイルのパスを指定します。

0
vardhaman

これは別の修正です。

私のビルドシステム(Gradle)は、Eclipseビルドパスに必要なネイティブライブラリ(dll)を追加しました(プロジェクトを右クリック - >プロパティ - > Javaビルドパス - >ライブラリ)。ネイティブのdllライブラリをEclipseのクラスパスに追加しないようにビルドシステムに指示することで、問題は解決しました。

0
marc

eclipseにvm引数を追加できます。

例:-Djava.ext.dirs = cots_lib

cots_libは外部フォルダライブラリです。