これらの3つのオープンソースツールを使用してJavaアプリをパッケージ化しましたが、現在はすべてアバンダンウェアのように見えます。3つすべてが非常に優れたソフトウェアです。現在のオプションは何ですか?(またはJavaをデスクトップアプリ開発に使用しているのは、アプリ開発者がこれらのツールを構築および保守するための「ホット」マーケットではなくなったのでしょうか?).
1)exeラッパー:jsmooth-2。5年以内に新しい開発はありません-64ビットをサポートしていません。 launch4j-1年以上新しい開発はなく、64ビットをサポートしていますが、launch4jによって作成されたexeに署名できないため、jsmoothを好みますが、64ビットをサポートしていません。
2)onejar:動作しますが、2。5年以上新しい開発やWebサイトの更新はありません。したがって、Javaの新しいビルドで突然壊れた場合は、サポートされているものに切り替えたり、バックアップ計画を立てたりするだけです。
ありがとうエドガー
Launch4jが更新されました! http://launch4j.sourceforge.net/changelog.html
いずれの回答も承認されておらず、JavaFX 2.2については上記で言及されていないため(回答の時点では利用できませんでした)、次のようになります:
JavaFX 2.2(Javaランタイムと7u6以降のSDKの一部)では、完全なRTコンポーネントに沿ってネイティブexe/dmg/rpmのタグを作成することもできます。これはあなたのニーズに対する有効な答えであり、Oracleが公式にサポートしているソリューションでもあります。
https://blogs.Oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx
チェックしましたか IzPack ?これは、クロスプラットフォームインストーラーを作成するための優れたソフトウェアです。
IzPackは、Javaプラットフォーム用のインストーラージェネレーターです。Java仮想マシンが利用可能な任意のオペレーティングシステムで実行できる軽量インストーラーを生成します。オペレーティングシステムの場合、シェルでダブルクリックまたは単純な「Java -jarinstaller.jar」で起動できます。最も一般的な使用法は、Javaプラットフォーム、ただし、他の種類のプロジェクトにも使用できます。IzPackの主な利点は、さまざまなオペレーティングシステムを使用するユーザーにプロジェクトを配布するためのクリーンでユニークな方法を提供することです。
いくつかの本当に有名な企業やプロジェクトが長年それを使用しています(SunMicrosystems、JBoss/RedHat、Scala言語プロジェクト、いくつかのObjectWeb/OW2プロジェクト、XWikiなど))。 、それはあなたにとって良いはずです:)
IzPack( http://izpack.org /)を試しましたか?
Java Webstartでの最近のセキュリティ変更にうんざりしていたので、独自のツールを作成しました [〜#〜] jndt [〜#〜] 。これはGPLの下にあります。
GNU LinuxパッケージはMacとWindowsでも作成できます:)私はそれを使用してGNU Linuxでも)Macバンドルを作成できるため、akauppiの提案よりもはるかに進んでいます。 。今のところ、GNU Linux、Mac OS X、Windows用のネイティブの自己完結型アプリケーションバンドルを作成できるいくつかの依存関係を持つ単一のAntライブラリです。私は最初にそれを使用しますパーソンシューターでとても満足しています。JREがバンドルされていますが、必要に応じてシステムJREを使用できます。
追伸:JNDTは、GNU Linuxでも、NSISを使用して実行可能ファイルとしてネイティブWindowsインストーラーを作成できます。
私は、GPLライセンスが一部の開発者に私のツールの使用を思いとどまらせることを理解しています。この場合、むしろ PackR を使用します。
Maven 2は、アセンブリプラグインの一部としてすべての依存関係を含むjarを作成する機能を提供します。これをマニフェストファイルのjarプラグイン構成と組み合わせる(特にMain-classをmainのクラスに設定する)だけで、基本的なパッケージ化を行うことができます。
ある程度Java WebStartは配布するためのより良い方法と見なされていますJavaアプリケーションとMaven2のアセンブリ機能をWebStartと組み合わせると、必要なものがすべて手に入ります。 exeルート経由。
(本格的なインストーラーではなく)exeが必要な場合は、NSISを使用して作成できます。 http://nsis.sourceforge.net/Java_Launcher_with_automatic_JRE_installation
はい、NSISはインストーラーですが、インストーラーの内容をすべて削除することで、同じディレクトリでjarを実行することができます。基本的にはlaunch4jのように機能しますが、より多くの構成が可能です。
Gradleを使用している場合は、launch4j(内部)を使用してうまく機能するプラグインがあります。 launch4jをダウンロードまたはインストールする必要はなく、完全に自動化されています。