主要参考:
http://dev.firnow.com/course/3_program/java/javajs/20090306/158336.html
在此标注了需要注意的地方
Java Service Wrapper官方网站:http://wrapper.tanukisoftware.com
- 将下载的Java Service Wrapper包解压到本地,目录为{WRAPPER_HOME};
- 服务应用程序名为MyServApp,在目录d:\MyServApp下建立bin、conf、logs、lib目录;并把你的已有应用程序如NioBlockingServer.class拷贝到该目录下;
- 将{WRAPPER_HOME}\src\bin\下的遗以下文件拷贝到MyServApp目录下,并重命名。
- {WRAPPER_HOME}\bin\Wrapper.exe ? C:\ MyServApp \bin\Wrapper.exe
- {WRAPPER_HOME}\src\bin\App.bat.in ? C:\ MyServApp\bin\MyApp.bat
- {WRAPPER_HOME}\src\bin\InstallApp-NT.bat.in ? C:\ MyServApp\bin\InstallMyApp-NT.bat
- {WRAPPER_HOME}\src\bin\UninstallApp-NT.bat.in ? C:\ MyServApp\bin\UninstallMyApp-NT.bat
- 将{WRAPPER_HOME}\lib下的以下文件拷贝到C:\ MyServApp \lib目录下{WRAPPER_HOME}\lib\Wrapper.DLL{WRAPPER_HOME}\lib\wrapper.jar
- 将{WRAPPER_HOME}\src\conf\wrapper.conf.in拷贝到C:\ MyServApp \conf目录下并命名为wrapper.conf;并修改wrapper.conf文件,在其中配置您的应用服务。主要修改以下几项即可:
- # Java Main class.(注意此处:网上很多文档都说将此处改为自己的程序入口(main函数),如果这样的话会出现Startup failed: Timed out waiting for a signal from the JVM.错误,并不停的重启。将Java程序包装成系统服务一共有4种方法,具体可参考:http://wrapper.tanukisoftware.com/doc/english/integrate.html,这里使用最简单的第一种方法)
- wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
- #classpath:(这里可以使用通配符*,只需要将使用到的jar包放入lib目录下,将其改为../lib/*.jar即可)
- wrapper.java.classpath.1=../lib/wrapper.jar
- # Java Library Path (location of Wrapper.DLL or libwrapper.so)
- wrapper.java.library.path.1=../lib
- #你的Java应用类(这里才是真正的自己的程序入口(main函数),如果main函数需要其它参数可使用wrapper.app.parameter.2= 继续添加)
- wrapper.app.parameter.1= NonBlockingServer
- # 服务名
- wrapper.ntservice.name=NB
- # Display name of the service
- wrapper.ntservice.displayname=Nio Nonblocking Server
- # 服务描述
- wrapper.ntservice.description=Nio Nonblocking Server
- 其他的配置根据你的需要改变即可
- 对以上配置的MyApp.bat进行测试,运行MyApp.bat,就像在Console窗口下运行Tomcat一样;
- 对以上配置的服务进行测试,运行C:\ MyServApp\bin\InstallMyApp-NT.bat将把你的应用(此处为NioBlockingServer)安装到Win32系统服务中了。
- 打开控制面板-管理程序-服务,看到Nio Nonblocking Server已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。(如果无法启动或其它操作请再次检查红色字体部分)