2011-07-29 18 views
9

JREでアプリケーションjarを配布するにはどうすればよいですか? launch4jを使用して実行可能なjarをexeで作成します。JREでアプリケーションjarを配布する

私のアプリケーションはデスクトップベースのスイングアプリケーションです。 JREがインストールされていない場合は、埋め込みJREを使用してそのアプリケーションを使用できるようなアプリケーションにしたいと考えています。私はJREにアプリケーションを与え、それを使用します。アプリケーションとJREのアンインストールは、ゲームのようにアンインストールされます。

私はアプリケーションにあらかじめインストールされたJREを与えると、それが起こることを理解します。私はまたlaunch4jのタブJREを見ていますが、私はどのパスを与えるのか分かりません。 Thisリンク私も見ることができますが、手続きがないか、または総手続きが明確に定義されているところで役に立つリンクが与えられています。

明確な回答をください。あなたの答えがlaunch4jに基づいている場合は、私が好むでしょう。

答えて

5

どのようにアプリケーションを配布しますか?インストーラはありますか?

インストーラをお持ちの場合は、任意のjreをバンドルし、launch4jを使用するように構成することができます。私はあなたのユースケースを再作成するためにやった

  1. 例えば、ディレクトリを作成します。 C:¥Program Files¥Java¥jdk1.6.0_23からC:¥temp¥myownjdk1.6.0_23にコピーします。
  2. launch4jでJDKを使用するには、次のように入力します。JREタブに「myownjdk1.6.0」と入力します。 _23 "として
  3. バンドルされたJREパスと、私は"私用JDKランタイムのみを使用する " に設定しましたが、本当に必要かどうかはわかりませんが。

私はJDKを使用しましたが、JREを使用しても同じことができます。 また、バンドルの相対パスを使用する必要がある(またはできた)ことを確信しています。

これは私の設定ファイルです:

<launch4jConfig> 
    <dontWrapJar>false</dontWrapJar> 
    <headerType>gui</headerType> 
    <jar>C:\temp\demoapp.jar</jar> 
    <outfile>C:\temp\thing.exe</outfile> 
    <errTitle></errTitle> 
    <cmdLine></cmdLine> 
    <chdir></chdir> 
    <priority>normal</priority> 
    <downloadUrl>http://java.com/download</downloadUrl> 
    <supportUrl></supportUrl> 
    <customProcName>false</customProcName> 
    <stayAlive>false</stayAlive> 
    <manifest></manifest> 
    <icon></icon> 
    <jre> 
    <path>myownjdk1.6.0_23</path> 
    <minVersion></minVersion> 
    <maxVersion></maxVersion> 
    <jdkPreference>jdkOnly</jdkPreference> 
    </jre> 
</launch4jConfig> 
+0

私は同じことをやっていますが、私は私のtest.exeで私のjava(jre)ディレクトリを与えるdonot私はそれがより動的にしたいゲームはそれが1つのexeを持つことを意味します。それをクリックすると、jreを抽出し、いくつかのディレクトリにオプションを選択し、ショートカットオプションを作成するとlaunch4jを使用して可能です。返信してください。 – moin

+0

あなたのインストーラであるべきです: あなたのパッケージ(yourapp.exe、yourapp.jarとyourjdk-directory)をユーザが選択したディレクトリに展開できるようにしてください。これはJREをyourapp.exeに相対的に置きます。 これらのいずれかが役立つかもしれません:http://java-source.net/open-source/installer-generators launch4jはすべきことを行いますが、完全なデプロイメント/インストーラパッケージではありません。 – PhilW

+0

はい、実際に私はlaunch4jまたは他のopensourceインストーラでこのオプションを知っていれば、私にいくつかのname.Actuallyを与えることができる場合は、ゲームや他のソフトウェアのような私のアプリケーションを作成したいこれをクリックすると、自動的にすべてが抽出され、使用できます。 – moin

2

より良い戦略は、アプリを起動することです。 Java Web Startを使用してください。 deployJava.jsを使用して、Javaの適切な最小バージョンが使用可能であることを確認してください。ユーザーは、適切なJREを既にインストールしている可能性があり(ダウンロードは必要ありません)、アプリをアンインストールすると他のJavaアプリケーションやアプレットにもインストールされます。

これは、指定した要件の一部には適合しませんが、全体的に優れた選択肢です。

+0

ダウン投票者は、この回答がなぜ受け入れられなかったのか気にしますか? –

+0

+1完璧にフィットしていなくても、[タグ:java-web-start]は少なくとも展開のために考慮する必要があります。 – trashgod

+0

Java WebstartにはJavaがあらかじめ用意されています。これは鶏肉や卵の問題のように見えますが、この質問には適していません。 – Panayotis

1

BitRock InstallBuilderをチェックアウトすることもできます。

私たちは、Javaが存在するかどうかを検出するだけでなく、JREを簡単に組み込むことと、ランチャーバイナリを構築することの両方をサポートしています。

あなたがここでより多くの情報を見つけることができます: http://installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s17.html#_bundling_a_jre

とJavaコンポーネント/ JREファイル:上記のリンクからファイルと http://installbuilder.bitrock.com/java/

を、それはあなたのプロジェクトにいくつかの変数を設定するのと同じくらい簡単で、インストーラが動作します。

これは無料ではありませんが、プロジェクトがオープンソースの場合は、アプリケーションのインストーラを作成するために使用できる無料のオープンソースライセンスを申請することができます。

免責事項:私はBitRock InstallBuilderの開発者の1人ですので、私は偏っています。

0

必要なJREを無人で自動的にダウンロードしてインストールできるlaunch4jの独自のバージョンを作成しました。(ダウンロードの進捗状況、まだインストールが進まず、JREインストーラを他のディレクトリにダウンロードするオプションもありませんインストーラの作業ディレクトリ - もし誰かが興味があるなら、この機能を追加することができます)。 launch4jの "JRE"タブに移動してオプションを設定してください。また、これはGUIインストールのためのものであり、今はコンソール用ではありません。ここでそれを得ることができます:https://github.com/maztan/launch4j_auto_jre_download

関連する問題