Ejecutar JAR como un servicio de Windows [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo crear un servicio de Windows desde Java Jar? 8 respuestas

Tengo un archivo JAR y me gustaría registrarlo y ejecutarlo como un servicio de Windows. Con un JAR bien configurado y ganchos de apagado JVM ya registrados, no debería ser un gran trabajo hacer esto.

Ya tengo un JAR con @ exterlib dir, puedo comenzar conjava -jar My.jar y para conCtrl+C.

También verifiqué JSL, JSmooth y procrun desde Apache sin solución de trabajo.

Necesitaría una solución de trabajo con un buen tutorial.

Actualizar Tuve éxito tanto con procrun (por fin) como con el contenedor de servicio .net manual ... Aquí está el código para la versión procrun de mi install.bat:

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%

Supongo que

ejecute esto desde el mismo directorio donde el jar y prunsrv.exe esthe jar tiene su MANIFEST.MFy tiene ganchos de apagado registrados en JVM (por ejemplo, con context.registerShutdownHook () en Spring) ...no usar rutas relativas para archivos fuera del jar (por ejemplo, log4j debe usarse con log4j.appender.X.File = $ {app.home} /logs/my.lo o algo parecido)

Gracias al equipo de proche de apache http: //commons.apache.org/proper/commons-daemon//procrun.htm) y a marifnst http: //a089lp.wordpress.com/tag/procrun-tutorial)

Update 2: un nuevo buen tutorial con winsv:https: //dzone.com/articles/spring-boot-as-a-windows-service-in-5-minute

Respuestas a la pregunta(3)

Su respuesta a la pregunta