發佈Java程序爲Windows服務[Java Service Wrapper]html
☆下載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。而後修改成java
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服務windows
☆而後直接運行App.bat,若是運行成功的話,而後就能夠執行InstallApp-NT.bat發佈成Windows服務,而後就能夠設置成開機自啓動了,不怕別人啓動的時候本身的程序沒有執行。另外若是在project/bin當成bat的目錄的話沒這麼麻煩。app