8

Windows サービス ラッパーとして Java を起動する方法に関する SO Q&A を読みましたが、要件に適した製品が見つからない/選択できません。

  1. ラッパーは、構成ファイルからすべての Java 起動パラメーターを読み取ります。レジストリには、ラッパー自体を実行するためのコマンドのみが必要です-exeへのパスと、場合によっては構成へのパス。レジストリのアプリ パラメータを変更する管理者権限を常に付与するのは快適ではありません。

  2. 作業ディレクトリとアプリケーションへのパスも構成に含まれている必要があります。ユーザーが興味を持っていないため、すべてのラッパーファイルをプログラムの奥深くに配置したいと考えています。

  3. 依存関係はありません (.net、python など)。プログラムの要件を拡張したくありません。

  4. win64 を含むすべての Windows OS で無料。

  5. シンプルで軽量。すべてのサードパーティの jar を含む私のプログラムのサイズは 12M バイトです。20M バイトのラッパーを追加したくありません。

  6. アプリ プロセスが停止した場合、自動的に再起動します。

  7. できれば、すべての Windows プラットフォームで単一の exe ファイルを使用してください。

いろいろなラッパーを試してみて、少し疲れました。これまでのところ最適なのは次のとおりです。

  1. jslwin ( http://jslwin.sourceforge.net ) ですが、それがどの程度成熟しているかはわかりません (バージョン 0.99)。また、config のパラメーター リストは少し複雑です (パラメーターの数を編集する必要があります)。
  2. winrun4j ( http://winrun4j.sourceforge.net ) ですが、それがどの程度成熟しているかはわかりません (バージョン 0.45)。また、サービスとして動作するための特別なクラスが必要です。

また、私は試したり調べたりします:

  1. YAJWS ( http://yajsw.sourceforge.net/ ) が大きすぎる (30 MB) ため、カスタム ファイル レイアウトでは動作しません。
  2. Advanced Installer ( http://www.advancedinstaller.com ) が大きすぎます (50MB)。
  3. nssm ( http://nssm.cc/ ) 起動パラメータをレジストリに保存 (構成なし)
  4. winsw ( https://kenai.com/projects/winsw ) .net が必要、プロセスが終了すると停止する
  5. commons-daemon, procrun ( http://commons.apache.org/proper/commons-daemon/index.html ) 起動パラメータをレジストリに保存します (設定なし), この製品を理解できません.複雑だと思います.
  6. jsmooth ( http://jsmooth.sourceforge.net ) 複雑で古い (最終更新 2007)
  7. javaservice ( http://forge.ow2.org/projects/javaservice/ ) 古い (最終更新 2006)
  8. runasservice ( http://runasservice.sourceforge.net/ ) には .net が必要です
  9. Windows rktools - sc、instsrv、srvany ( http://support.microsoft.com/?scid=kb%3Ben-us%3B137890&x=16&y=7 ) - 起動パラメーターをレジストリに保存します (構成なし)
  10. jwrapper ( http://www.jwrapper.com/ ) は私が必要としているものではないようです。JavaプログラムをJREでexeファイルにパックします。Windowsサービスに関するものではありません。
  11. firedaemon ( http://www.firedaemon.com/ ) 無料ではありません。そして多分それは私が必要とするものではない.
  12. launch4j ( http://launch4j.sourceforge.net/ ) のクールな機能「java を検索またはダウンロード」。インストールを簡単にするためにこのようなものを追加するかもしれませんが、それはまだサブジェクトに関するものではありません。
  13. Java サービス ラッパー ( http://wrapper.tanukisoftware.com/ ) は win64 では無料ではありません。

私のニーズに合ったラッパーを教えてください。それとも、上記のラッパーについて間違っていると思い、それらのいくつかは私のニーズに合っていますか?

4

2 に答える 2

2

私は何年にもわたって同様の問題を抱えてきました。それらがすべて劣っているわけではなく、自分のプロジェクトにうまく統合するのがかなり難しいということです。

コウノトリをチェックしてみてください: https://github.com/fizzed/stork

Java コンソールまたはデーモン アプリのランチャーを作成するのに役立ち、すべての主要なプラットフォームで動作します。既存のビルド プロセスに結び付けたい場合に備えて、maven プラグインもあります。

于 2016-04-08T21:31:01.237 に答える
1

JWrapperが1と2のようなすべての要件を希望どおりに満たすかどうかはわかりません.JWrapperは、起動方法や配置場所などを指示するのではなく、独自の方法でそのようなものを処理しますが、 win/mac/linux 用の実行可能ファイルを生成します。さらに重要なことに、Windows サービスのインストールだけでなく、macos と Linux デーモンのインストールもサポートしています。

http://www.jwrapper.com/guide-installing-a-service.html

サービス サポートは有料ライセンス用ですが、無料版では現在サポートされていません。

開示:私はJWrapperで働いています

于 2014-10-23T12:32:46.450 に答える