公布Java程序为Windows服务[Java Service Wrapper]

发布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的目录的话没这么麻烦。