有人尝试使用Procrun作为Windows服务运行Java控制台或GUI应用程序吗?
如果我通常使用Java -jar chat.jar -n room1
如何以最佳方式使用Procrun?
答案 0 :(得分:1)
我的java应用程序(入口点只是public static void main(String[] args)
)用作Windows服务,代码如下
@prunsrv //IS//SMTPMan --DisplayName="SMTPMan Proxy" \
--Install="C:\devel\_Executables\SMTPManService\prunsrv.exe" \
--Startup auto --Jvm auto --StartMode jvm --StopMode jvm \
--StartClass eu.javaman.smtp.Service --StartMethod main \
--StopClass eu.javaman.smtp.Service --StopMethod main \
--StopParams stop --Classpath C:\devel\_Executables\SMTPManService\SMTPMan.jar \
--LogPath C:\devel\_Executables\SMTPManService \
--Description "Smtp Proxy service by xxx" \
--StdOutput C:\devel\_Executables\SMTPManService\SMTPMan.log \
--StdError C:\devel\_Executables\SMTPManService\SMTPMan.log \
--Type interactive
停止上面脚本安装的服务时会有一些警告,但它没有塞子所以我不介意:)
始终使用完全指定的路径,同时检查http://commons.apache.org/daemon/procrun.html以满足您的特定需求;但是不要使用'=':)
如果param值包含空格将其包装在引号中 如果服务正确安装,你可以轻松使用prunmgr.exe来启动/停止(也修改所有提到的参数值),这个界面有两个或三个以上的选项卡,而不是通过服务窗口控件可访问的选项卡
对于路径中的空格,在另一个线程中找到了解决方法:
@rem #FOR %%F IN ("C:\Program Files\prunsrv.exe") DO SET prunsrv=%%~sF <br>
@rem #prunsrv … --Install=%prunsrv%