发布Java程序为Windows服务[Java Service Wrapper]
发布Java程序为Windows服务[Java Service Wrapper]
☆下载Windows版本:
http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-
3.2.3.zip
☆假设项目放在目录project文件夹下,发布的包放在project/lib下,日志文件
放在project/logs下,配置文件放在project/conf下,运行的jar为myjar.jar(放在
project要目录下,与MANIFEST.MF文件同一级)。
☆在下载包后解压,将Java Service Wrapper包中src/bin/的App.bat.in,
InstallApp-NT.bat.in,UninstallApp-NT.bat.in和bin/下的wrapper.exe放在project
目录下,把后缀.in去掉。【App.bat(可以直接运行程序),InstallApp-NT.bat(安装成
Windows服务),UninstallApp-NT.bat(卸载Windows服务)】。修改App.bat,
InstallApp-NT.bat,UninstallApp-NT.bat中的set _WRAPPER_CONF="%_REALPATH%
conf\wrapper.conf"。
☆把Java Service Wrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到
project/lib下,在原来的运行的jar文件myjar.jar中的MANIFEST.MF增加Class-Path:
其他jar wrapper.jar wrapper.dll。
☆把Java Service Wrapper包中src/conf目录下的wrapper.conf.in放到
project/conf下,去掉后缀.in。然后修改为
wrapper.java.classpath.1=lib/wrapper.jar
wrapper.java.classpath.2=myjar.jar
wrapper.java.library.path.1=lib
#原来程序运行的入口
wrapper.app.parameter.1=myapp.mainClass
wrapper.logfile=logs/wrapper.log
wrapper.console.title=MyApp服务
wrapper.ntservice.name=MyApp服务
wrapper.ntservice.displayname=MyApp服务
wrapper.ntservice.description=MyApp服务
☆然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-
NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自
己的程序没有执行。另外如果在project/bin当成bat的目录的话没这么麻烦。