日期:2014-05-16  浏览次数:20841 次

发布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/log下,配置文件放在project/conf下,运行的jar为myjar.jar。


☆在下载包后解压,将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=dist/wrapper.jar
wrapper.java.classpath.
2=dist/myjar.jar

wrapper.java.library.path.
1=dist

#原来程序运行的入口
wrapper.app.parameter.
1=myapp.mainClass

wrapper.logfile
=log/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的目录的话没这么麻烦。

?

?

转自http://www.blogjava.net/woxingwosu/archive/2007/11/28/163308.html