前几天在开发中遇到了如何把Java程序注册为Windows的服务问题,在网上查找了许久,发现了这么一个好东东:
Java Service Wrapper
,下面向大家介绍一下它的简单用法。
前提
-
可以从下面的网址的 Download 下载相关文件和源代码,里面还有详细介绍
http://wrapper.tanukisoftware.org/doc/english/introduction.html
使用方法
-
Java Service Wrapper包解压
-
假设你的java程序的项目目录为 MyApp ,则需要在此目录下增加目录bin、conf、lib
-
把Java Service Wrapper包中bin目录下的Wrapper.exe、src/bin目录下的MyApp.bat.in、InstallMyApp-NT.bat.in、UninstallMyApp-NT.bat.in文件拷贝到MyApp的bin目录中,并分别改名为MyApp.bat、InstallMyApp-NT.bat、UninstallMyApp-NT.bat
-
把Java Service Wrapper包中lib目录下的Wrapper.DLL、wrapper.jar拷贝到MyApp的lib目录中
-
把Java Service Wrapper包中srcconf目录下的wrapper.conf.in拷贝到MyApp的conf目录中,并命名为wrapper.conf
-
修改wrapper.conf配置文件,方法如下:
主要修改以下几项即可: #你的JVM位置: wrapper.java.command=D:j2sdk1.4.0_03binjava #运行参数:如: wrapper.java.additional.1=-Dprogram.name=run.bat #你的Java程序所需的jar包必须全部在此标明,注意路径准确: wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=... # Java Library Path (location of Wrapper.DLL or libwrapper.so) #你的Wrapper.DLL或wrapper.jar所在的目录 wrapper.java.library.path.1=../lib #MAIN CLASS 此处决定了使用Java Service Wrapper的方式 wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp #你的Java应用程序的运行类 wrapper.app.parameter.1= NonBlockingServer #注册为服务的名称和显示名,你可以随意进行设置 wrapper.ntservice.name=XXX # Display name of the service wrapper.ntservice.displayname=XXXXXXXX #服务描述信息 wrapper.ntservice.description=XXXXXXXX 其他的配置根据你的需要改变即可
-
下面就可以运行注册了,运行MyApp.bat即可运行你的java程序,运行InstallMyApp-NT.bat可以进行服务的注册,UninstallMyApp-NT.bat为注销服务
-
运行完注册服务InstallMyApp-NT.bat可以在 控制面板-管理程序-服务 中看到你注册的服务名称(如:XXXXXXXX)
这就是
Java Service Wrapper
的简单实现,如果有兴趣可以参考前面提供的网址进行更深层次的研究。 我参考了http://www.newbooks.com.cn/info/36520.html 在此表示感谢!
|