0

実行する必要がある jar ファイルと、実行前に設定する必要があるライブラリ パスがあります (ライブラリ パスは非常に重要です)。

// works but without library path being set
start bin/myJar.jar

// should work but doesn't because OS path knows no java paths
// error message like: "java" could not be found
start java -Djava.library.path=bin\native -jar bin\myJar.jar

手動操作が常に必要なため、オラクルは製品のインストールに関して非常に悪い仕事をしていると思います。ユーザーが自分でパス変数を設定することは期待できません。バッチを介してパス変数を更新する方法はありますか (この 1 つの jar を実行するためだけに一時的に行うのが最適です)。

また、ant ビルドを使用して jar を生成しています。私ができるすべての設定は次のとおりです。

// ...
<manifest>
    <attribute name="Class-Path" value="another.jar another2.jar " />
    <attribute name="Main-Class" value="myPackage.MyClass" />
</manifest>
// ...

ライブラリパスを設定する方法はありますか?

4

2 に答える 2

0

必要なすべての jar を同じフォルダーに入れることができます。次に、デフォルトでクラスパスは現在のディレクトリに設定されます。

その他のオプションは、jar ファイルをコピーするアプリケーション インストーラーを用意して、Java がデフォルトの場所jre/lib/extで見つけられるようにすることです。

その他のオプションは、アプリケーションを zip アーカイブとしてパックし、ユーザーに解凍を依頼することです。サポートするオペレーティング システムごとにスターター スクリプトが含まれている必要があります。このようにして、OSに依存するcalsspathネイティブjarに含めることができます

于 2012-12-14T09:01:45.667 に答える
0

ご想像のとおり、最善の方法は、jar のマニフェストでメイン クラスとクラス パスの両方を指定して、実行可能な jar を作成することです。

見る:

manifestclasspathタスクを使用すると、jar とそれに依存するライブラリを一緒に出荷できます。バッチ スクリプトは、次のように単純な呼び出しにすることができます。

start java -jar myjar.jar
于 2012-12-16T20:27:11.303 に答える