2

現在、すべての OS のユーザーがダブルクリックするだけでアプリケーションを .jar ファイルとしてデプロイしています。ただし、最大ヒープ サイズを増やす必要があります。これを行う唯一の方法は、コマンド ライン引数 (-Xmx1g) を JVM に渡すことです。これをjarマニフェストに含めることができればいいのにと思いますが、そうではありません。

そのため、引数を持つ .jar に .bat または .csh を含める必要があります。これを正しく行うためのより良い方法があるようです。.jar は、ファイルを書き出すユーザーのディレクトリで実行することを意図しているため、Webstart は適切なオプションではないと思います。アプリケーションはデスクトップ GUI アプリです。

4

2 に答える 2

2

残念ながら、jar内のマニフェストファイルでvmargsを指定することはできないため、次のような回避策が必要です。

  • 指定されたvm引数を使用してjarファイルを起動するスクリプトを作成します
  • ランチャーとして機能する実行可能ファイル内にjarファイルをラップします
  • Javaコードをネイティブバイナリにコンパイルします

最初のソリューションは、たとえばバッチまたはシェルスクリプトを使用して簡単に実装できますが、2番目のソリューションには、たとえば前述のネイティブJava Web StartやクロスプラットフォームJava実行可能ファイルであるlaunch4jなど、役立ついくつかの選択肢があります。ラッパー。3番目のソリューションは、状況によっては実装できます。コードがGNUクラスパスライブラリと互換性がある場合は、 GCJを使用してネイティブバイナリにコンパイルできます。

于 2012-04-17T20:54:22.000 に答える
2

Webstart はそれを達成するための良い方法のように思えます。適切な権限があれば、ユーザーのファイル システムからの読み取り/書き込みを妨げるものは何もありません。

また、次のようないくつかの興味深い「機能」も提供します。

  • ユーザーに透過的にアップグレードをプッシュする可能性
  • ユーザーが正しいバージョンの JRE を使用していることを確認する

あなたの場合、次の構文を使用するだけで済みます。

<j2se version="1.7+" java-vm-args="-Xmx1g" href="http://java.sun.com/products/autodl/j2se"/>
于 2012-04-17T20:42:50.297 に答える