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”时出现错误。问题是我试图在服务关闭时调用停止方法,但它似乎用'void main(String [])'覆盖了StopMethod。以下是我在设置服务时使用的停止和启动参数:

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()"

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

4

1 回答 1

4

您不应将返回类型(即“void”)或括号放在 --StopMethod 参数的值中。所以,命令应该是:

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