2011-05-11 77 views
4

我正在尝试升级我们的几台服务器以使用其上安装的应用程序的当前版本,我已经陷入了一个艰难的过程。我已经取代了一切,并将我的问题缩小到1个.jar文件。如果我使用这个特定文件的新版本,我无法启动服务,并使用旧版本(以及其他所有文件的新版本),它运行良好。运行Java应用程序作为服务 - 启动错误捕获?

当我尝试启动我得到这个消息的服务:Could not start <service> service on Local Computer. The service did not return an error. This could be an internal Windows error or an internal service error.

我看着在事件查看器,以及所有它是这些条目每次我尝试启动时间:

<Service> has started

Could not find the service start class

<service> has failed to start

是疗法e我可以看到的其他地方可能会提供更多有关它未能启动的信息。

我们使用'JavaService'实用程序来创建窗口过程。这台服务器也运行jboss。

编辑:我也确定它不是我的SQL数据库的问题,因为我只是做了版本之间的所有升级。我仍然无法从新的.jar开始,旧的.jar仍然有效。

谢谢!

+1

也许这是显而易见的,但你有没有尝试运行同样的命令,手动(如服务定义)? – 2011-05-11 20:30:16

+0

@Grzegorz我有,当我尝试在命令行中运行它什么也没有发生,它只是立即返回 – Saggio 2011-05-12 11:56:33

回答

1

我发现了这个问题!

后的配置文件环视好多天,我终于发现了一些:我们现在正在使用log4j来进行记录,但不包括在该.jar的清单!我将它添加到清单,它现在启动!

感谢您的帮助大家:]

2

您不能将java应用程序作为服务执行。 Windows服务实现了java.exe或javaw.com不具有的特定接口。你将需要一个包装来实现这个功能。一种这样的包装是http://wrapper.tanukisoftware.org

1

正如皮埃尔所提到的,您不能直接运行java 作为Windows服务的Apache commons daemon (a.k.a. Procrun)是另一个可以将java应用程序用作Windows服务的工具。

+0

我们使用“JavaService”工具来使用Java应用程序作为Windows服务 – Saggio 2011-05-12 16:29:22

+0

@ user564636:请这些信息添加到您的问题,我认为这是相关的。 – ChrisH 2011-05-12 16:51:03

相关问题