1

実際、私は1つのJavaプログラムを持っています。それは「Hello World」を返します。jarファイルに変換しました。その後、Windows XPのデフォルトswでiexpressを使用して、ファイルタイプを.exeに変更しました。

新しいサービスを作成するために、 sc createコマンドを使用しました。Windows サービスを正常に作成しました。しかし、問題は、これを実行できないことです。次のエラーをスローしています。

ここに画像の説明を入力

このエラーは、この javaservice だけではありません。

Windowsサービスとしてchrome.exeを実行しようとしましたが、その時も同じエラーがスローされています。

Windowsの制約ですか?または私は間違いを犯していますか?解決策を期待しています。

前もって感謝します...

4

1 に答える 1

4

任意の.exeファイルをそのまま割り当ててサービスとして実行することはできません。サービスがサービスコントロールマネージャー(SCM)と対話するために使用する必要のある特定のAPI関数があります。そのため、エラーが発生します。これらの.exeファイルはSCMとのやり取りにこれらのAPIを使用していません。

SCMインタラクション専用のコードを記述していない場合(JavaはWindowsサービスの作成をサポートしていません)、すべてが失われることはありません。状況によっては(Chromeはその1つではありません!)、別のラッパーを使用して非サービスアプリをホストし、それらに代わってSCMインタラクションを処理できます。

サービスラッパー

Javaアプリの場合、利用可能なラッパープロジェクトがいくつかあります。

Java Service Wrapper

さらに別のJavaServiceWrapper

ow2

于 2012-12-13T06:20:02.317 に答える