Java jar 作为Windows service运行大坑与解决方式


最近在做的一个java项目需要作为windows的service在windows上运行。最初的解决方案就是利用windows自带的sc命令来创建windows service,也确实注册成功了。

具体的命令是sc create ... (最后service执行的命令就类似...java.exe -jar a.jar)

但是发现无法启动,会报error 1053 the service did not respond to the start or control request in a timely fashion。

后来查了半天问题,终于在Stack Overflow上看见有一个post里有个回答提到java.exe不可以直接做成service

解决方案基本都是利用第三方的工具,类似nssm,java service wrapper等。因为我这边的需求是用户下载安装包要尽量小,所以我直接采用了把nssm打到安装包里,然后用nssm去注册。

nssm流程:

nssm install...

nssm start…(具体的语法可以google~远远不止这两个命令,可以设置很多参数)

可参考

https://stackoverflow.com/questions/37003271/inno-setup-and-nssm-service-working-integration


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM