2

さまざまなプラットフォームのユーザーがダブルクリックして実行できるように、exe または dwg などとしてリリースしたい Java アプリケーションがあります。しかし、私のコードが本当にうまく機能するためには、それがWindowsサービスとして機能する必要があり、他のOSでこれに相当するものは何でも. 私が理解しているように、クライアントマシンがシャットダウンした場合、ユーザーはexeを再度ダブルクリックする必要があるため、Java Web Startを使用することは解決策ではありません。Java サービス ラッパーを試しましたが、リリース可能にする方法がわかりません。

ありがとうプラナベシュ

4

3 に答える 3

2

If a commercial tool is acceptable for you, I'd recommend install4j. It can produce installers for the most common plaftforms, which specifically support installing the application as a service.

Quote from their Features page:

install4j offers full support for generating and installing services (daemons). For services, install4j generates service executables on Windows, startup items on Mac OS X and start/stop scripts on Unix/Linux platforms.

于 2009-08-13T05:50:06.533 に答える
1

Java Service Wrapper は、Windows/Unix/OSX 向けの方法です。数年問題なく使用しています。これは優れたソフトウェアであり、JVM のクラッシュ/ハングを適切に処理し、何か問題が発生した場合にサービスを自動的に再起動します。

アプリケーションの配布に関しては、 Windows 上のNSISをお勧めします。必要な場所にファイルを置き、JSW スタブを実行してターゲット システムにサービスをインストールする適切なインストーラを作成できます。Unix の場合は、tar.gz にパッケージ化してサービスのインストール方法を説明するだけです (sh スクリプトを /etc/init.d にコピーし、chkconfig または起動スクリプトを管理するその他のシステム依存ツールを使用してインストールします)。Mac では、dmg にパッケージ化する必要があります。

よりクロスプラットフォームなソリューションが必要な場合は、izpackを試すこともできます。izpack は、ネイティブの Windows アプリケーションまたは Mac アプリケーションとして Java Web Start から実行できます。ユーティリティ ページを確認してください。

IzPack は、アプリケーションのパッケージ化、配布、および展開のためのワンストップ ソリューションです。これは完全にクロスプラットフォームであり、単一のインストーラーを生成します。そのため、プラットフォーム固有のインストーラーやパッケージ マネージャーなどのネイティブ ソリューションに代わるものです。IzPack で生成されたインストーラーを実行するには、Java 仮想マシンのみが必要です。

于 2009-08-13T04:54:56.223 に答える
0

リリースするオペレーティング システムごとにリリース パッケージをビルドする必要があります。

たとえば、Windows の場合、実行可能なラッパーを見つける必要があります。これを行ってからしばらく経ちましたが、プロセスの一部として実際にインストーラーをビルドするいくつかのツールを使用したことを覚えています。

Launch4j は私が覚えているものです

于 2009-08-13T04:41:39.277 に答える