我刚刚继承了一个java应用程序,需要在XP和vista上作为服务安装。我已经8年没有使用任何形式的windows了,我从来没有创建过服务,更不用说从java应用程序(我已经为应用程序准备了一个jar和一个依赖jar - log4j)。使其作为服务运行所必需的魔力是什么?我已经得到了源代码,所以代码修改(尽管最好避免)是可能的。


当前回答

另一种选择是WinRun4J。这是一个可配置的java启动器,可作为windows服务主机(32位和64位版本)。它是开源的,使用上没有限制。

(完全披露:我参与了这个项目)。

其他回答

这很简单,因为你必须加入快捷方式

Windows 7 C:\users\所有用户\开始菜单\程序\启动(Admin)或用户主目录(%userProfile%)

Windows 10: 在“Run shell:startup”中

在它的属性->快捷方式->目标-> java.exe -jar D:\..\runJar.jar

注意:只有在您登录后才会运行


拥有管理员权限

sc create serviceName binpath= "java.exe -jar D:\..\runJar.jar"将创建windows服务

如果超时,使用cmd /c D:\JAVA7~1\jdk1.7.0_51\bin\java.exe -jar D:\ jenkins\jenkins。战争,但即使这样,你会得到超时,但在后台java.exe将启动。检入任务管理器

注意:这将在windows登录启动时运行(在登录之前,基于服务“启动类型”)

创建windows服务的详细说明

另一种选择是WinRun4J。这是一个可配置的java启动器,可作为windows服务主机(32位和64位版本)。它是开源的,使用上没有限制。

(完全披露:我参与了这个项目)。

一种简单的方法是使用NSSM Wrapper Wrapper(请参阅我的博客文章)。

我总是只使用sc.exe(参见http://support.microsoft.com/kb/251192)。它应该安装在从SP1开始的XP上,如果它不符合你的Vista风格,你可以通过Vista资源包下载加载它。

我没有使用Java做过太复杂的事情,但是使用完全限定的命令行参数(x:\ Java .exe ....)或使用Ant创建一个脚本来包含依赖项和设置参数对我来说都很好。

我以前用过JavaService,而且很成功。它已经有几年没有更新了,但当我使用它的时候,它非常坚固。