其实我有一个java程序。返回“Hello World”。我把它转换成了jar文件。之后,我在Windows XP默认sw中使用iexpress将文件类型更改为.exe。
我使用 sc create 命令来创建新服务。我成功创建了Windows服务。但问题是我无法运行它。它抛出以下错误。
此错误不仅适用于此javaservice。
我试图将chrome.exe作为windows服务运行,那次也是同样的错误。
窗户有限制吗?还是我弄错了?期待解决方案。,
提前致谢...
答案 0 :(得分:4)
您不能只是按任意方式分配任何.exe文件作为服务运行。服务必须使用特定的API函数来与服务控制管理器(SCM)进行交互。这就是您收到错误的原因 - 那些.exe文件没有使用这些API与SCM进行交互。
如果您不是专门为SCM交互编写代码(Java不支持创建Windows服务),那么所有代码都不会丢失。在某些情况下(Chrome NOT 是其中之一!),您可以使用单独的包装器来托管非服务应用并代表他们处理SCM交互:
对于Java应用程序,有一些可用的包装器项目: