0

以前の開発者から一部のコードを継承しました。このコードは、Ant を使用して、ダブルクリックで実行される実行可能な jar ファイルに組み込まれます。アプリケーションは実行されますが、状況によっては OutOfMemoryError でクラッシュします。これを調査するために、-XX:+HeapDumpOnOutOfMemory jvm arg を Ant ビルドファイルに追加したいと思います。私が理解しているように、<jvmarg value="-XX:+HeapDumpOnOutOfMemory" />要素は<java ...>タスクの下に移動する必要があります。ただし、<java ...>このコード ベースの Ant ビルドファイルやその他の Ant ビルドファイルにはタスクがありません。

これはどのように可能ですか?<java ...>タスクなしでjarファイルを実行するにはどうすればよいですか?

<jvmarg />OOMEをデバッグするためにその要素をどこに置くべきかを理解できるように、実際にjarファイルを実行可能にするものを見つけることを主に求めています。

ありがとう!

4

2 に答える 2

1

タスクは、実行可能な<java>jar ファイルを作成しません。Java プログラムを実行します。

実行可能なjarファイルをダブルクリックして起動するときに、VMパラメーターを指定することはできないと思います。VM パラメーターを渡したい場合は、コマンド プロンプトを開き、次のように jar を実行します。

java -XX:+HeapDumpOnOutOfMemory -jar nameOfTheJar.jar
于 2012-06-22T18:46:57.377 に答える
1

META-INF/MANIFEST.MF ファイルで Main-Class が定義されているため、jar は実行可能です。ダブルクリックして実行しても、Ant では何もしません。Ant は単に jar をパッケージ化するために使用されます。

パラメータを追加し、ダブルクリックで起動するには、JB Nizet の回答でコマンドを実行するショートカットを作成できます。

于 2012-06-22T18:47:10.430 に答える