sunny_sailor的专栏

越努力 越幸运

将java程序做成windows系统服务

采用的Java Service Wrapper工具, 下载地址: 
http://sourceforge.net/projects/wrapper/files/(当下最新版为3.5.6的) 

步骤: 
1、解压缩java service wrapper包,假设目录为:wrapper_home 
2、建立一个目录比如:D盘server文件夹里面建立bin、conf、logs、lib文件夹。 
3、将wrapper_home/bin目录里wrapper.exe 
   将wrapper_home/src/bin目录里App.bat.in 
   将wrapper_home/src/bin目录里InstallApp-NT.bat.in 
   将wrapper_home/src/bin目录里UninstallApp-NT.bat.in 
   统一拷贝至server/bin目录里,并去掉后缀名in。 
   将wrapper_home/src/conf目录wrapper.conf.in拷贝至server/conf目录里去掉后缀名in 
   再将wrapper_home/lib/目录里面的wrapper.jar和wrapper.dll拷贝至server/lib目录里面 
4、将你的应用程序打成jar包后放入server/lib目录里面,如果程序依赖第三方架包,同样将jar包放入该目录下。 
5、配置server/conf/wrapper.conf文件。 
主要修改以下几项即可: 
#你的JVM位置(文中有进行设置的地方...): 
wrapper.java.command=%JAVA_HOME%\bin\java 
#classpath:里面添加上你要执行的应用程序jar,以及依赖的第三方jar,有多个依次类推 
wrapper.java.classpath.1=../lib/应用程序.jar 
wrapper.java.classpath.2=../lib/wrapper.jar 
wrapper.java.classpath.3=../bin/第三方.jar 
# Java Library Path (location of Wrapper.DLL or libwrapper.so) 

#你的Java应用类(一般而言就是包含main函数的类), 
wrapper.app.parameter.1= service.Server.Serverbegin 
# 服务名 
wrapper.name=server 
# Display name of the service 
wrapper.displayname=server 
# 服务描述 
wrapper.ntservice.description=receive message 
其他的配置根据你的需要改变即可 
6.  对以上配置的App.bat进行测试,运行App.bat,dos窗口中显示; 
7.  对以上配置的服务进行测试,运行server/bin/InstallApp-NT.bat将把你的应用(此处为server)安装到Win32系统服务中了。 
8.  打开控制面板-管理程序-服务,看到server已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。 

bin/App.bat  控制台方式运行程序 

bin/InstallApp-NT.bat  安装服务 

bin/UninstallApp-NT.bat 删除服务 
wrapper.java.library.path.1=../lib(存放.dll的位置) 
#MAIN CLASS 此处决定了使用Java Service Wrapper的方式 
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp 
(注意: 此处不是指你自己的java类,而是表明你采用的方式) 
    
 
   需要强调的是: 如果你工程的jar包很多的话可以采取正则表达式的方式,例如我的lib下有80个jar文件,那么你可以使用/*.jar的形式。 经本人验证OK! 

   附加说明: 由于本人是在虚拟机下执行上述实验的,不便截图与复制配置文件内容回本机, 因此截图与配置文件都是copy网上的(可能部分文件名有出入,自己摸索一下)... ... 

   看到有另外一种做法:http://liubey.iteye.com/blog/701993 
阅读更多
个人分类: java
上一篇JAR命令使用
下一篇jquery 图片浏览 放大镜
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭