使用JavaService添加Windows服务
我创建了一个Java应用程序(运行无限循环)(有许多Java类文件),它也使用使用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服务工
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添加它