89

私のコンピューターにはLaunch4Jがあり、すばらしいプログラムです。私が興味を持っている機能の1つは、JREを一般的な.EXEファイルにバンドルする機能です。ただし、これを行う方法を説明しているドキュメントが見つかりません。

JREをEXEにバンドルするにはどうすればよいですか?さらに、コンパクトでポータブルなJREをどこで実行できますか?Oracleのダウンロードリンクは、インストーラパッケージ用です。

4

6 に答える 6

91

いくつかの試みの後、私はついに私のアプリケーションにjreをバンドルするための回避策を手に入れました:

アプリをzipファイルとしてパッケージ化し、その中に次のフォルダーを含めます。

containerFolder
|- jre
      |-bin (in bin there is java.exe)
      |-lib
|- cfg (to save the user configuration, but it's not needed)
|- bin (my application with the .exe and the .jar and all the other stuff)

launch4jのxmlファイルで、次のようにjreを構成します。

<jre>
    <path>../jre</path>
    <opt>-DgvSIG.confDir=../cfg</opt>
</jre>

ここでの秘訣は、パスがjava.exeファイルへのパスではないということです。jreへのパスは、.exeの位置を基準にしており、java.exeファイルの前の1つのフォルダーを指している必要があります。

私が使用しているjreフォルダーは、Windowsシステムにインストールされているjreフォルダーからのコピーアンドペーストです。

于 2011-09-28T10:50:17.790 に答える
19

私は次のことを行い、verLaunch4j3.11を使用して動作しました。

  1. アプリケーション用の新しいフォルダー(たとえば、MyAppと呼ばれる)を作成しました。
  2. jarファイルをjavaプロジェクトのdistフォルダーからlibフォルダーと一緒にMyAppにコピーしました。
  3. アプリケーションフォルダMyAppにjreというフォルダを作成したので、MyAppフォルダには次のものが含まれます。
    • MyApp.jar
    • lib<-これには私のJavaアプリに必要なライブラリがあります。
    • jre
  4. binおよびlibフォルダーをjavajreフォルダー(C:\ Program Files(x86)\ Java \ jre7)からMyApp\jreにコピーしました
  5. Launch4jで必要なすべてのオプションを設定したら、バンドルされたJREパスを「jre」に設定します。

    Launch4jJREオプション

  6. 検索オプションで「プライベートJDKランタイムのみを使用する」が選択されていることを確認してください。
于 2018-03-29T09:59:21.470 に答える
7

あなたが交尾するのと同じ問題。今は心配ありません。そのすべては、将来の解決策を解決するために最大の深さで解決します。ユーザーがJavaをインストールするかどうかに関係なく、jar用にJREをバンドルする方法を解決します。Javaアプリケーションが実行されます。

  1. JREフォルダーからプロジェクトのdistフォルダーにコピーlibしてbinフォルダーを作成します

jarからexeへの変換

  1. launch4jを開き、次の設定を入力します。 ここに画像の説明を入力してください

秘訣は、javaw.exeを含むフルパスを指定する必要があることです。

楽しみ!!!!

于 2018-01-03T11:01:27.127 に答える
0

私はこれをやったばかりです。上記は、jreをバンドルする方法を明確に説明しています。

ここでは、私が苦労した経験を共有します。launch4jでラッパーexeを作成した後にインストーラーexeを作成する場合は、launch4jとjreのファイルパスに注意してください。これは、問題を解決するために使用したパスです。

launch4j、bin / jre、resources / bin/jre。

launch4j、bin、およびリソースは同じレベルにあります。

于 2019-06-21T21:23:58.203 に答える
-2

jreは通常、SDKフォルダーにあります。はい、オンラインのリンクはインストーラーですが、インストールすると、JREはローカルディスクに配置されます。鉱山はにあります

${jdk folder}\jre

JREから不要な部分は、本当に必要な場合は手動で削除できます(オンラインで何が利用できるかはわかりません)。

于 2011-08-15T21:53:05.900 に答える
-2

Launch4Jを使用してJavaアプリケーションを特定のJREにバンドルする実例は、https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.mdにあります。この特定のディストリビューションは、ターゲットプラットフォームで見つかったJREではなく、バンドルされたJREを使用するようにvZomeに要求するように構成されています。

お役に立てれば。

于 2019-07-30T20:50:37.977 に答える