Windows:创建一个运行可执行 jar 的服务,无需任何外部库

Windows:创建一个运行可执行 jar 的服务,无需任何外部库

我有一个 spring boot 可执行 jar 文件,可以通过调用在任何命令提示符下运行java -jar filename.jar

我想创建一个服务,而无需为上述代码片段下载任何外部库。

如果有一条捷径,请帮助我。

答案1

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

不。

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

存在 svchost.exe 二进制文件,它代表“服务主机”,可以托管多个共享微软服务,但您无法与第三方服务共享。不支持。主要原因是一个服务中的崩溃或缺陷会影响共享 svchost.exe 实例中的所有服务。没有人愿意冒险将您的奇怪 Java 东西与共享 svchost 中的基本操作系统服务共享。

[参考]

在旧的 Win2000 时代,有一个“srvany.exe”二进制文件,但是它太旧了,太破旧了,2017 年应该没人会使用它了。

一个简单的谷歌搜索告诉我,存在这样的事情“Java 服务包装器” 或称为“Non-Sucking 服务包装器”...但这些都是独立的第三方二进制文件,不属于 Windows 的一部分,而且绝对不受 Microsoft 支持,因此对您的问题的答案仍然是“不”。

最重要的是,您需要自己的、非 Microsoft 提供的托管流程来托管您的奇怪服务。

相关内容