Apache Daemonをダウンロードしましたが、実行に問題があります。
コマンドラインで、ファイルを抽出しようとしていJAR
ます(ファイルディレクトリは以下に示されています):
このコマンドを(CMDで)使用して、そうしています:
jar -xf commons-daemon-1.0.15.jar
しかし、これは何もしません。WindowsがJavaサービスの実行を開始できるように、デーモンツールを起動する方法を探していました。
役立つヒント、ありがとう
Apache Daemonをダウンロードしましたが、実行に問題があります。
コマンドラインで、ファイルを抽出しようとしていJAR
ます(ファイルディレクトリは以下に示されています):
このコマンドを(CMDで)使用して、そうしています:
jar -xf commons-daemon-1.0.15.jar
しかし、これは何もしません。WindowsがJavaサービスの実行を開始できるように、デーモンツールを起動する方法を探していました。
役立つヒント、ありがとう
Apache サイトhttp://commons.apache.org/proper/commons-daemon/procrun.htmlによると、
Procrun は、Windows ユーザーが (ほとんどの場合) Java アプリケーション (Tomcat など) を Windows サービスとしてラップできるようにする一連のアプリケーションです。機械。"
Procrun は、Prunmgr と Prunsrv の 2 つのアプリケーションで構成されています。Prunmgr は、procrun サービスを監視および構成するための GUI アプリケーションです。Prunsrv は、アプリケーションをサービスとして実行するためのサービス アプリケーションです。Java アプリケーションだけでなく、任意のアプリケーションをサービスとして実行するように変換できます。
Prunmgr と Prunsrv のダウンロード場所は次のとおりです: http://www.apache.org/dist/commons/daemon/binaries/windows/
注: これら 2 つの実行可能ファイルを Tomcat の Web サイトからダウンロードすることもできます。http://tomcat.apache.org/download-90.cgiただし、表示されるはずのファイルが見つかりません。Tomcat は同じファイルを使用しますが、名前を別の名前に変更しただけです。Tomcat バージョン 9 を使用する場合、Prunsrv は Tomcat9.exe、Prunmgr は Tomcat9w.exe です。
私の基本的な例として、Eclipse でサンプル プロジェクトを作成し、次のソースのサンプル コードを使用しました。
注: Eclipse Mars には JDK 7 が必要だったので、JDK 7 をインストールする必要がありました。
次に、javac 実行可能ファイルを使用して、Java ファイルをクラス ファイルに変換する必要がありました。クラス ファイルを取得したら、次の図のようなディレクトリ構造を作成しました。Prunmgr を myServicew.exe に、Prunsrv を myService.exe に名前を変更したことに注意してください。
E:\MyService
\bin
\myService.exe
\myServicew.exe
\classes
\MyService.CoolService.MyService.class
\logs
コマンド ラインまたは Windows Powershell を使用して bin ディレクトリに移動し、次のコマンドを使用して Windows サービスをインストールします。
myService.exe //IS//MyService --Install=E:\MyService\bin\myService.exe --Description="My Java Service" --Jvm=C:\glassfish4\jdk7\jre\bin\server\jvm.dll --Classpath=E:MyServiceclasses --StartMode=jvm --StartClass=MyService.CoolService.MyService --StartMethod=windowsService --StartParams=start --StopMode=jvm --StopClass=MyService.CoolService.MyService --StopMethod=windowsService --StopParams=stop --LogPath=E:\MyService\logs --StdOutput=auto --StdError=auto
これで、Windows サービスにサービスが表示されるはずです。