Windows:创build一个服务来运行一个可执行的jar与任何外部库

我有弹簧启动可执行jar文件,它可以通过调用java -jar filename.jar运行到任何命令提示符。

我想创build一个服务,无需下载上面的代码片段的任何外部库。

帮助我,如果有一个海峡前进的方式。

我想创build一个无需下载任何外部库的服务

没有。

根据定义,Windows服务是它自己的二进制文件。

存在svchost.exe二进制文件,它代表“服务主机”,它可以承载多个共享的Microsoft服务,但不能与您的第三方服务共享。 它不受支持。 主要原因是一个服务中的崩溃或缺陷会影响共享svchost.exe实例中的所有服务。 没有人愿意冒共享的svchost与基本的操作系统服务分享你的怪异的Java事情。

[ 参考 ]

在Win2000的旧版本中,有一个“srvany.exe”二进制文件,但是这个版本太老了,2017年没有人使用它。

一个简单的Googlesearch告诉我,存在“Java Service Wrapper”或者另一个叫做“Non-Sucking Service Wrapper”的东西 …但是这些都是单独的第三方二进制文件,它们不是Windows的一部分,绝对不是由微软支持,因此你的问题的答案仍然是“不”。

底线是你需要你自己的,没有提供的微软托pipe过程来承载你奇怪的服务。