10

JavaプロジェクトをEclipseからjar実行可能ファイルとしてエクスポートするのに問題があります。私のJavaプロジェクトは外部ライブラリ(jriと呼ばれます)を使用しています。jri.jarファイルをエクスポートし、Eclipseでネイティブライブラリのライブラリパスを設定しました。これは、Eclipseでの開発でうまく機能します。ただし、実行可能jarファイルとしてエクスポートすると、次のエラーが発生します。

Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.

プロジェクトのjarと同じディレクトリにlibというフォルダを配置しました。このlibフォルダーには、jriのネイティブライブラリが含まれています。jriのネイティブライブラリは1つのファイルではなく、フォルダにあります。これは私がEclipseで持っているのと同じ設定です。

Eclipseでプロジェクトをエクスポートする方法は次のとおりです。

Export...
Java > Runnable JAR file
Copy required libraries into a sub folder next to the generated Jar
Finish

そして私のフォルダはこのように構成されています

folder project
  project.jar
  project_lib
    jri.jar
    jri native library folder  

私のproject.jarのMANIFEST.MFは次のとおりです。

Manifest-Version: 1.0
Class-Path: . project_lib/jri.jar
Main-Class: index

私が達成したいのは、他の人にproject.jarやその他必要なものを含むフォルダーを与えて、他の人が何もインストールしなくても実行できるようにすることです。本当にありがとう

4

4 に答える 4

8

次のようなものを含むスクリプトを追加します。

#!/bin/bash
java -Djava.library.path=project_lib/native/ -jar project_lib/jri.jar

私はいくつかのJavaプロジェクトをそのようにエクスポートします。

于 2012-01-17T18:58:01.050 に答える
3

これを実装するのは比較的困難です。私が見た解決策には、JAR 内のネイティブ ライブラリを OS 一時ディレクトリに抽出してからロードすることが含まれます。そのための統合ソリューションを探します。1 つの JarJava Class Loaderがそれをサポートし、2 番目のページには同様のツールへのリンクがあります。

于 2012-01-16T16:34:29.597 に答える
1

ライブラリをjar内に配置できます。

書き出す...

Java > 実行可能な JAR ファイル

必要なライブラリを生成された Jar にパッケージ化する

終了

私はいつもこの方法で輸出しています。あなたのケースでうまくいくかどうかはわかりませんが、試してみる価値はあります。


編集:

次のリンクを参照してください。

私の推測では、これは LD_LIBRARY_PATH が正しく設定されていないことと関係があると思います。または、検索しているファイルがリストされたパスにありません。

于 2012-01-13T16:11:09.450 に答える