Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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
使用JavaService添加Windows服务_Java_Service_Windows Services - Fatal编程技术网

使用JavaService添加Windows服务

使用JavaService添加Windows服务,java,service,windows-services,Java,Service,Windows Services,我创建了一个Java应用程序(运行无限循环)(有许多Java类文件),它也使用log4j.jar和`snmp4j.jar。为了运行应用程序,我需要提供一些输入参数,如下所示: C:\APP>java myApp.class arg1 arg2 arg3 arg4 arg5 arg6 其中myApp.class包含主处理程序 此应用程序在命令行执行下运行良好。但是,我想为这个应用程序创建一个Windows服务,以便它在电脑启动时运行。此外,如果服务因任何原因关闭,它将在Windows服务工

我创建了一个Java应用程序(运行无限循环)(有许多Java类文件),它也使用
log4j.jar
和`snmp4j.jar。为了运行应用程序,我需要提供一些输入参数,如下所示:

C:\APP>java myApp.class arg1 arg2 arg3 arg4 arg5 arg6
其中
myApp.class
包含主处理程序

此应用程序在命令行执行下运行良好。但是,我想为这个应用程序创建一个Windows服务,以便它在电脑启动时运行。此外,如果服务因任何原因关闭,它将在Windows服务工具下重新启动

我试图通过执行以下命令来使用JavaService

C:\APP>JavaService.exe -install MyService "C:\java\jdk1.6.0.29\jre\bin\server\jvm.dll" -start myApp.class -params arg1 arg2 arg3 arg4 arg5 arg6
The MyService automatic service was successfully installed
我可以在管理工具->服务下看到我的
MyService

但是,当我启动
MyService
时,它启动然后停止:(


有人知道为什么吗?

也许您需要指定类路径

您可以使用如下设置执行此操作:

-Djava.class.path={JDK_HOME}\lib\tools.jar;<your jar 1>;<your jar 2>
-Djava.class.path={JDK_HOME}\lib\tools.jar;;
例如,我们使用一个脚本来安装JBoss,与这里讨论/显示的脚本类似:


HTH

也许您需要指定类路径

您可以使用如下设置执行此操作:

-Djava.class.path={JDK_HOME}\lib\tools.jar;<your jar 1>;<your jar 2>
-Djava.class.path={JDK_HOME}\lib\tools.jar;;
例如,我们使用一个脚本来安装JBoss,与这里讨论/显示的脚本类似:


HTH

首先,如果使用64位JVM,则必须使用64位JavaService。否则,Windows事件日志中将出现以下错误:

LoadLibrary函数失败,原因如下:LoadLibrary不是有效的Win32应用程序


其次,使用JavaService的
-out
-err
参数从java代码中记录stdout和stderr。

首先,如果使用64位JVM,则必须使用64位JavaService。否则,Windows事件日志中将出现以下错误:

LoadLibrary函数失败,原因如下:LoadLibrary不是有效的Win32应用程序


其次,使用JavaService的
-out
-err
参数从java代码中记录stdout和stderr。

PS您可以在windows的事件查看器中看到来自服务的错误消息。查看“windows日志”然后是“应用程序”。我尝试按照建议执行-Djava.class.path,但仍然无法启动windows服务:(太遗憾了。您是否在这些Windows事件日志中查找您服务的错误?Windows事件日志刚刚报告的“MyService服务无法启动”是唯一的事件消息吗?您没有告诉服务从PS获取JAR的位置,您可以在Windows的事件查看器中看到您服务的错误消息。查看“Windows日志”然后是“应用程序”。我尝试按照建议执行-Djava.class.path,但仍然无法启动Windows服务:(太遗憾了。您是否在这些Windows事件日志中查找服务错误?Windows事件日志刚刚报告“MyService服务无法启动”“这是唯一的事件消息吗?您没有告诉服务在创建服务时从何处提取JAR尝试”-err D:\Logs\javaservice.log“,它会告诉您缺少哪个库,您需要使用-Djava.class.path=something.jar添加创建服务时尝试”-err D:\Logs\javaservice.log”它会告诉您丢失了哪个库,您需要使用-Djava.class.path=something.jar添加它