![](/img/trans.png)
[英]How to start a java application as a windows service with procrun?
[英]How to start an executable jar from spring-boot with procrun windows service executor?
我使用spring-boot-maven-plugin
创建了一个runnable jar
。 jar 可以使用jar -jar %FILENAME%
。
但我想使用procrun
将其安装为windows
服务。
问题:当我然后启动应用程序时,我得到以下输出:
[2016-12-05 12:33:22] [info] [ 7788] Starting service...
[2016-12-05 12:33:23] [error] [ 4856] FindClass de/app/MyApplication failed
[2016-12-05 12:33:23] [error] [ 7788] Failed to start Java
[2016-12-05 12:33:23] [error] [ 7788] ServiceStart returned 4
[2016-12-05 12:33:23] [info] [ 7916] Run service finished.
[2016-12-05 12:33:23] [info] [ 7916] Commons Daemon procrun finished
如果我将文件重命名为 *tar.gz,我可以看到没有目录“de/app/”。 但是一个BOOT-INF/classes/de/app
目录。
问题是:为什么应用程序可以通过使用java -jar
启动,而不是作为 procrun 服务(基本上应该做同样的事情)?
节目有点晚了,但万一有人偶然发现这个问题:
spring 生成的胖 jar 文件包含包装的依赖项。 如果你想通过 procrun 运行它们,你可以通过调用org.springframework.boot.loader.JarLauncher
因此,在创建服务时,请尝试以下操作:
prunsrv //IS/Myservice --Classpath="C:\my-fat.jar" --StartClass="org.springframework.boot.loader.JarLauncher"
这相当于运行java -jar my-fat.jar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.