我的Java类包含以下方法:

public static void main(String [] argv)//启动服务

public static void stop()//停止服务

我正在使用Apache Commons Daemon中的Procrun将Java类设置为Windows服务。我尝试停止服务时收到错误消息“ [618 javajni.c] [错误]找不到类com / caphyon / service / JavaService中的静态方法'void main(String [])'”。问题是我正在尝试在服务关闭时调用stop方法,但是它似乎用'void main(String [])'覆盖了StopMethod。以下是设置服务时使用的停止和启动参数:

prunsrv.exe //美国// JavaService --StartClass = com.caphyon.service.JavaService --StartMode = jvm --StartPath =“ C:\ JavaService”

prunsrv.exe //美国// JavaService --StopClass = com.caphyon.service.JavaService --StopMode = jvm --StopPath =“ C:\ JavaService” --StopMethod =“ void stop()”

如何设置关闭服务时将调用的StopMethod prunsrv?

最佳答案

您不应将返回类型(即“ void”)或父级放在--Stop Method参数值中。因此,命令应为:

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

10-05 23:59