1

其实我有一个java程序。这将返回“Hello World”。我将其转换为 jar 文件。之后,我在 Windows XP 默认软件中使用 iexpress 将文件类型更改为 .exe。

我使用sc create命令来创建新服务。我成功创建了 Windows 服务。但问题是我无法运行它。它抛出以下错误。

在此处输入图像描述

此错误不仅针对此 javaservice。

我试图将 chrome.exe 作为 Windows 服务运行,那个时候它也抛出了同样的错误。

是windows限制吗?还是我犯了错误?期待解决方案。,

提前致谢...

4

1 回答 1

4

您不能按原样分配任意任意 .exe 文件以作为服务运行。服务必须使用特定的 API 函数与服务控制管理器 (SCM) 交互。这就是您收到错误的原因 - 那些 .exe 文件没有使用这些 API 与 SCM 交互。

如果您不是专门为 SCM 交互编写代码(Java 不支持创建 Windows 服务),那么一切都不会丢失。在某些情况下(Chrome不是其中之一!),您可以使用单独的包装器来托管非服务应用程序并代表它们处理 SCM 交互:

服务包装

对于 Java 应用程序,有一些包装器项目可用:

Java 服务包装器

又一个 Java 服务包装器

ow2

于 2012-12-13T06:20:02.317 回答