Java Service Wrapper 发布Java程序为Windows服务
下载Windows版本:http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip
现在目前只要32位有免费的,64位免费版目前还没有做出来。官网上(社区)那一列是免费的。
1.先把你的项目用MANIFEST.MF打成jar包,例如bb.jar。新建目录,例如:dist,放在D盘下面。把bb.jar放到dist目录下。
2.在dist目录下新建conf,lib,log三个文件夹。conf是配置文件存放地方,lib是发布的包存放的地方,log是日志文件存放的地方
3.将下载下来的wrapper-windows-x86-32-3.2.3.zip解压,将Java Service Wrapper包中src/bin/目录下的的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in 和 bin 目录下的wrapper.exe放在dist目录下。把后缀.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"。
或者set _WRAPPER_CONF="D:\dist\conf\wrapper.conf"。
4.把Java Service Wrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到dist/lib下
5.把Java Service Wrapper包中src/conf目录下的wrapper.conf.in放到project/conf下,去掉后缀.in。然后修改wrapper.conf文件:
wrapper.java.command=%JAVA_HOME%/bin/java 这里指的是用来执行你程序的java.exe路径
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp 采用第一种整合方式,用它来封装程序
wrapper.java.classpath.1=E:/dist/lib/wrapper.jar 这里添加是用到的jar包文件,从1---n自己写,不过wrapper是必须的
wrapper.java.classpath.2=E:/dist/aa.jar
wrapper.java.library.path.1=E:/dist/lib 这个是要存放wrapper.dll位置
wrapper.app.parameter.1=org.wise.frame.MainFrame 这个是你自己可执行程序的主类
wrapper.logfile=E:/dist/log/wrapper.log 指定日志文件存放的地方
wrapper.console.title=MyApp服务
wrapper.ntservice.name=MyApp服务 这4个是给服务起的名字
wrapper.ntservice.displayname=MyApp服务
wrapper.ntservice.description=MyApp服务
6.然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自己的程序没有执行。
这样子就是正常启动App.bat(控制台)