2

私の Java クラスには、次のメソッドが含まれています。

public static void main(String[] argv) //サービスを開始する

public static void stop() //サービスを停止します

Apache Commons DaemonのProcrun を使用して、Java クラスを Windows サービスとしてセットアップしています。サービスを停止しようとすると、「[618 javajni.c] [error] Static method 'void main(String[])' in Class com/caphyon/service/JavaService not found」というエラーが表示されます。問題は、サービスのシャットダウン時に stop メソッドを呼び出そうとしていることですが、StopMethod を 'void main(String[])' でオーバーライドしているように見えます。サービスをセットアップするときに使用している停止パラメーターと開始パラメーターは次のとおりです。

prunsrv.exe //US//JavaService --StartClass=com.caphyon.service.JavaService --StartMode=jvm --StartPath="C:\JavaService"

prunsrv.exe //US//JavaService --StopClass=com.caphyon.service.JavaService --StopMode=jvm --StopPath="C:\JavaService" --StopMethod="void stop()"

サービスをシャットダウンするときに prunsrv が呼び出す StopMethod を設定するにはどうすればよいですか?

4

1 に答える 1

4

--StopMethod パラメーターの値に、戻り値の型 (つまり、"void") またはかっこを入れないでください。したがって、コマンドは次のようになります。

prunsrv.exe //US//JavaService --StopClass=com.caphyon.service.JavaService --StopMode=jvm --StopPath="C:\JavaService" --StopMethod="stop"
于 2010-03-25T00:46:31.500 に答える