【图】使用java service wrapper将java程序注册为window服务
2016-04-21 10:32
471 查看
公司项目中有个需求是内网与公网信息交互,内网要时时接受公网消息进行打印,这部分程序是要部署在客户端的PC机上的,开发的时候,怎么玩都可以,部署到用户电脑上的时候肯定不能让用户电脑打开一个黑窗口吧。
所以准备用java service wrapper 将jar包注册为window服务。
下载java service wrapper
下载地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp
国内打开有点慢,但是确实能打开,针对自己的需求下载相应的软件版本,有linux,windows,苹果系统等,我的需求环境是windos 64版本。
配置
确保你电脑上的java运行环境正常。
将你的程序达成jar包,我的jar包名:ZKPrint.jar 运行的主类路径名称:com.zkprint.mq2.Listener,记住这俩后边改配置文件需要用到。
新建一个文件夹,我起的名字是Printer。创建bin conf lib logs 文件夹,如图
解压wrapper-windows-x86-32-3.5.20.zip, 并将其bin目录下的Wrapper.exe、src/bin目录下的App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in文件,拷贝到Printer的bin目录中,并分别改名为App.bat、InstallApp-NT.bat、UninstallApp-NT.bat。
将其lib目录下的Wrapper.DLL、wrapper.jar拷贝到Printer的lib目录中。并且将项目的jar和所用到的jar都拷贝到该目录(包括你自己的java程序jar)
将其src/conf目录下的wrapper.conf.in拷贝到Printer的conf目录中,并命名为wrapper.conf。
把wrapper的logs下的wrapper.log放到Printer的logs下
修改wrapper.conf 文件
(1)JVM位置:
wrapper.java.command=C:\jdk1.5.0_07\bin\java 或者 wrapper.java.command=%JAVA_HOME%/bin/java(需要在系统的环境变量里配置JAVA_HOME)
(2)MAIN CLASS 此处决定了使用Java Service Wrapper的方式(这里写死下面的)
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
(3)你的Java程序所需的jar包必须全部在此标明,注意路径准确:
wrapper.java.classpath.1=../lib/wrappertest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../lib/ZKPrint.jar(这是我的运行程序)
(4)你的Wrapper.DLL或wrapper.jar所在的目录
wrapper.java.library.path.1=../lib
(5)你的Java应用程序的运行类(主类)
wrapper.app.parameter.1=com.zkprint.mq2.Listener
(6)注册为服务的名称和显示名,你可以随意进行设置,到时候会在window服务中看到这个名字
wrapper.name=ZKPrinter
wrapper.displayname= ZKPrinterL
(7)服务描述信息 不能是中文
wrapper.description=ZK da yin fu wu
(8)服务的启动类型
# Mode in which the service is installed. AUTO_START, DELAY_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
修改好了以后,运行App.bat即可运行你的java程序,这里可以测试配置的是否正确,如果可以运行,证明配置ok,如果错误,请细看报错信息。
运行InstallApp-NT.bat可以进行服务的注册,UninstallApp-NT.bat为注销服务。
运行完注册服务InstallApp-NT.bat可以在 控制面板-管理程序-服务中看到你注册的服务名称。(如:Test Wrapper Sample Application)
请把这个服务,右键启动,然后设置为自动启动,下次你电脑重启,他就会自动启动了,并且能实时接收消息,打印的日志在log文件夹中。
所以准备用java service wrapper 将jar包注册为window服务。
下载java service wrapper
下载地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp
国内打开有点慢,但是确实能打开,针对自己的需求下载相应的软件版本,有linux,windows,苹果系统等,我的需求环境是windos 64版本。
配置
确保你电脑上的java运行环境正常。
将你的程序达成jar包,我的jar包名:ZKPrint.jar 运行的主类路径名称:com.zkprint.mq2.Listener,记住这俩后边改配置文件需要用到。
新建一个文件夹,我起的名字是Printer。创建bin conf lib logs 文件夹,如图
解压wrapper-windows-x86-32-3.5.20.zip, 并将其bin目录下的Wrapper.exe、src/bin目录下的App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in文件,拷贝到Printer的bin目录中,并分别改名为App.bat、InstallApp-NT.bat、UninstallApp-NT.bat。
将其lib目录下的Wrapper.DLL、wrapper.jar拷贝到Printer的lib目录中。并且将项目的jar和所用到的jar都拷贝到该目录(包括你自己的java程序jar)
将其src/conf目录下的wrapper.conf.in拷贝到Printer的conf目录中,并命名为wrapper.conf。
把wrapper的logs下的wrapper.log放到Printer的logs下
修改wrapper.conf 文件
(1)JVM位置:
wrapper.java.command=C:\jdk1.5.0_07\bin\java 或者 wrapper.java.command=%JAVA_HOME%/bin/java(需要在系统的环境变量里配置JAVA_HOME)
(2)MAIN CLASS 此处决定了使用Java Service Wrapper的方式(这里写死下面的)
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
(3)你的Java程序所需的jar包必须全部在此标明,注意路径准确:
wrapper.java.classpath.1=../lib/wrappertest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../lib/ZKPrint.jar(这是我的运行程序)
(4)你的Wrapper.DLL或wrapper.jar所在的目录
wrapper.java.library.path.1=../lib
(5)你的Java应用程序的运行类(主类)
wrapper.app.parameter.1=com.zkprint.mq2.Listener
(6)注册为服务的名称和显示名,你可以随意进行设置,到时候会在window服务中看到这个名字
wrapper.name=ZKPrinter
wrapper.displayname= ZKPrinterL
(7)服务描述信息 不能是中文
wrapper.description=ZK da yin fu wu
(8)服务的启动类型
# Mode in which the service is installed. AUTO_START, DELAY_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
修改好了以后,运行App.bat即可运行你的java程序,这里可以测试配置的是否正确,如果可以运行,证明配置ok,如果错误,请细看报错信息。
运行InstallApp-NT.bat可以进行服务的注册,UninstallApp-NT.bat为注销服务。
运行完注册服务InstallApp-NT.bat可以在 控制面板-管理程序-服务中看到你注册的服务名称。(如:Test Wrapper Sample Application)
请把这个服务,右键启动,然后设置为自动启动,下次你电脑重启,他就会自动启动了,并且能实时接收消息,打印的日志在log文件夹中。
相关文章推荐
- android进程的初步认识
- Android学习知识合集
- Android中定时执行任务的3种实现方法
- Android中JNI的使用
- iOS开发如何提高
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(59)-BLL层重构
- iOS导航标题不居中问题(转载)
- 申请付费苹果开发者账号 注意事项及流程 (转)
- iOS 防止循环引用的两个方法
- ios开发如何提高
- Android中内容观察者的使用---- ContentObserver类详解
- [IOS/第三方登录]QQ第三方登录,登录成功没有回调问题
- 【首发】AndroidStudio配置JavaCV环境
- Android 多点触控
- iOS开发--统计自己的工程有多少行代码
- Android对Bitmap处理的工具类
- Android调用手机中的应用市场,实现评分功能
- android 系统提示对话框(AlertDialog)的使用
- Android开发 自定义ViewGroup 实现微信九格图功能(图片不同排布不同) 和 一种图片点击变暗效果
- 关于EnumerateObjectsUsingBlock和for-in之间的较量