Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Windows服务存在ProRun、StopMethod问题_Java_Windows Services_Procrun - Fatal编程技术网

Java Windows服务存在ProRun、StopMethod问题

Java Windows服务存在ProRun、StopMethod问题,java,windows-services,procrun,Java,Windows Services,Procrun,My Java类包含以下方法: publicstaticvoidmain(字符串[]argv)//启动服务 public static void stop()//停止服务 我正在使用ProRun from将Java类设置为Windows服务。我尝试停止服务时出错“[618 javajni.c][error]com/caphyon/service/JavaService未找到类中的静态方法'void main(String[])”。问题是我试图在服务关闭时调用stop方法,但它似乎用“void m

My Java类包含以下方法:

publicstaticvoidmain(字符串[]argv)//启动服务

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

我正在使用ProRun from将Java类设置为Windows服务。我尝试停止服务时出错“[618 javajni.c][error]com/caphyon/service/JavaService未找到类中的静态方法'void main(String[])”。问题是我试图在服务关闭时调用stop方法,但它似乎用“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将调用?

您不应该将返回类型(即“void”)或参数放入--StopMethod参数的值中。因此,命令应该是:

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

我将参数更改为--StopMethod=“stop”,但相同的错误仍然显示在日志中。它似乎覆盖了--StopMethod的选项,并改为调用“main”。“[618 javajni.c][error]com/caphyon/service/JavaService not found类中的静态方法'void main(String[])”看起来stop()方法需要将字符串数组作为参数才能工作。您是对的,如果我将java中的方法更改为“public Static void stop(String[]argv)”,它就会正常工作。看起来ProCurn不喜欢无参数java函数。