我有一个JAR文件,我想注册并将其作为Windows服务运行。通过配置良好的JAR和已经注册的JVM关闭挂钩,它不应该是一个大工作。将JAR作为Windows服务运行
我已经有一个JAR与外部lib
目录,我可以从java -jar My.jar
开始它,并停止与Ctrl+C
。
我也检查了Apache没有工作解决方案的JSL,JSmooth和procrun。
我需要一个有很好教程的工作解决方案。
更新:我既procrun(最后),和手动.NET服务包装太...这里成功是我INSTALL.BAT的procrun版本的代码:
set PR_PATH=%CD%
SET PR_SERVICE_NAME=MyService
SET PR_JAR=MyService.jar
SET START_CLASS=org.my.Main
SET START_METHOD=main
SET STOP_CLASS=java.lang.System
SET STOP_METHOD=exit
rem ; separated values
SET STOP_PARAMS=0
rem ; separated values
SET JVM_OPTIONS=-Dapp.home=%PR_PATH%
prunsrv.exe //IS//%PR_SERVICE_NAME% --Install="%PR_PATH%\prunsrv.exe" --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%" --DisplayName="%PR_SERVICE_NAME%" ++JvmOptions=%JVM_OPTIONS%
我冒昧地
- 从同一目录下的jar和prunsrv.exe是
- 运行这个罐子有它的工作MANIFEST.MF
- ,并且你有关闭挂钩注册到JVM中(例如在spring中使用context.registerShutdownHook())...
- 不使用jar之外的文件的相对路径(例如log4j应该与一起使用log4j.appender.X .File = $ {} app.home /logs/my.log或东西一样)
感谢Apache procrun队(http://commons.apache.org/proper/commons-daemon//procrun.html)和marifnst(http://a089lp.wordpress.com/tag/procrun-tutorial/)
更新2:一个新的优秀教程与winsv:https://dzone.com/articles/spring-boot-as-a-windows-service-in-5-minutes
杀死我知道,论坛,但我没有看到工作解决方案在那里免费.. – BTakacs 2013-02-27 14:45:34
如果我能够删除这个问题作为重复,它会删除一个很好的答案。 (我已经将我的答案复制到了指定的帖子中) – BTakacs 2013-02-28 13:25:47
这里是使用prunsrv的一步一步走过程:https://support.google.com/gsa/answer/6316721?hl = zh_CN – crowchirp 2017-12-06 20:19:21