《转载》java项目加入windows服务
2017-11-14 21:38
176 查看
1、下载wrappper-windows-x86-32系列的工具包,解压缩为<wrapper-home>。
下载地址为: http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip
2、新建一个目录,例如:C:\MyServerApp,并在其下面创建五个文件夹
分别为:bin 可执行程序文件夹
conf 配置文件夹
lib jar包文件夹
logs 日志文件夹包
application应用程序包 此包下还新建一个lib 用于存放应用程序所需要的jar包。
3、将<wrapper-home>\src\bin 中的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in等文件
与<wrapper-home>\bin 下的wrapper.exe复制到bin 目录下,并且将App.bat.in,InstallApp-NT.bat.in,
UninstallApp-NT.bat.in等的后缀.in去掉。
将<wrapper-home>\src\conf 下的wrapper.conf文件复制到conf目录下
将<wrapper-home>\lib 下的wrapper.jar,wrappertest.jar和wrapper.dll文件复制到lib目录下
最终的包结构可以是这样子的:
C:\MyServerApp
|-bin
|-App.bat
|-InstallApp-NT.bat
|-UninstallApp-NT.bat
|-wrapper.exe
|-lib
|-wrapper.jar 必须要的
|-wrappertest.jar
|-wrapper.dll
|-conf
|-wrapper.conf
|-logs
|-wrapper.log
|-application
|-lib 应用程序中如果用到了jar包,那么就复制到此文件夹里
|-用来存放应用程序(一般应用程序是有包结构的,就把工程里面的bin目录下的.class文件连同包一起拷过来)
4、配置Wrapper工具的wrapper.conf配置文件
配置Java虚拟机的位置
[html] view plain copy
wrapper.java.command=C:\ProgramFiles\Java\jdk1.6.0_07\bin\java
配置wrapper的主类,如果用他的代理方式,就填org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
工具寻找jar包以及应用程序的路径
wrapper.java.classpath.1=../lib/wrappertest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../lib/wrapper.dll
应用程序连同其文件夹一起拷到application文件夹下了,所以路径只需要指定到../application/
wrapper.java.classpath.4=../application/
应用程序要用到的所有jar包
wrapper.java.classpath.5=../application/lib/*.jar
wrapper.java.library.path.1=../lib
wrapper.java.additional.1=-Dprograme.name=run.bat
要将哪一个应用程序做成服务,就要把他的主函数所在的类名写在这里
wrapper.app.parameter.1=com.timeseries.MySeries
wrapper.console.format=PM
wrapper.console.loglevel=INFO
指定日志记录的地方
wrapper.logfile=../logs/wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=0
wrapper.logfile.maxfiles=0
wrapper.syslog.loglevel=NONE
wrapper.console.title=WrapperApplication
wrapper.ntservice.name=@wrapper@
wrapper.ntservice.displayname=@WrapperApplication@
wrapper.ntservice.description=@WrapperDescription@
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false
5、运行cmd
cdc:\MyServerApp\bin
App.bat测试
InstallApp-NT.bat安装
UninstallApp-NT.bat卸载安装的服务
||***********************************************************************||
服务里面,程序获取当前路径,不是根据.class或者jar文件所在的目录下的,而是bin目录下。
这一点很重要。所以很多程序所要的配置必须放在bin目录下,而不是和程序放在一起的目录下面。
否则服务执行时候,找不到所需的配置文件。
附加说明: 由于本人是在虚拟机下执行上述实验的,不便截图与复制配置文件内容回本机, 因此截图与配置文件都是copy网上的(可能部分文件名有出入,自己摸索一下)
参考帖子:
http://blog.csdn.net/lfsf802/article/details/22517159
http://blog.csdn.net/sunny_sailor/article/details/7403025
下载地址为: http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip
2、新建一个目录,例如:C:\MyServerApp,并在其下面创建五个文件夹
分别为:bin 可执行程序文件夹
conf 配置文件夹
lib jar包文件夹
logs 日志文件夹包
application应用程序包 此包下还新建一个lib 用于存放应用程序所需要的jar包。
3、将<wrapper-home>\src\bin 中的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in等文件
与<wrapper-home>\bin 下的wrapper.exe复制到bin 目录下,并且将App.bat.in,InstallApp-NT.bat.in,
UninstallApp-NT.bat.in等的后缀.in去掉。
将<wrapper-home>\src\conf 下的wrapper.conf文件复制到conf目录下
将<wrapper-home>\lib 下的wrapper.jar,wrappertest.jar和wrapper.dll文件复制到lib目录下
最终的包结构可以是这样子的:
C:\MyServerApp
|-bin
|-App.bat
|-InstallApp-NT.bat
|-UninstallApp-NT.bat
|-wrapper.exe
|-lib
|-wrapper.jar 必须要的
|-wrappertest.jar
|-wrapper.dll
|-conf
|-wrapper.conf
|-logs
|-wrapper.log
|-application
|-lib 应用程序中如果用到了jar包,那么就复制到此文件夹里
|-用来存放应用程序(一般应用程序是有包结构的,就把工程里面的bin目录下的.class文件连同包一起拷过来)
4、配置Wrapper工具的wrapper.conf配置文件
配置Java虚拟机的位置
[html] view plain copy
wrapper.java.command=C:\ProgramFiles\Java\jdk1.6.0_07\bin\java
配置wrapper的主类,如果用他的代理方式,就填org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
工具寻找jar包以及应用程序的路径
wrapper.java.classpath.1=../lib/wrappertest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=../lib/wrapper.dll
应用程序连同其文件夹一起拷到application文件夹下了,所以路径只需要指定到../application/
wrapper.java.classpath.4=../application/
应用程序要用到的所有jar包
wrapper.java.classpath.5=../application/lib/*.jar
wrapper.java.library.path.1=../lib
wrapper.java.additional.1=-Dprograme.name=run.bat
要将哪一个应用程序做成服务,就要把他的主函数所在的类名写在这里
wrapper.app.parameter.1=com.timeseries.MySeries
wrapper.console.format=PM
wrapper.console.loglevel=INFO
指定日志记录的地方
wrapper.logfile=../logs/wrapper.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=0
wrapper.logfile.maxfiles=0
wrapper.syslog.loglevel=NONE
wrapper.console.title=WrapperApplication
wrapper.ntservice.name=@wrapper@
wrapper.ntservice.displayname=@WrapperApplication@
wrapper.ntservice.description=@WrapperDescription@
wrapper.ntservice.dependency.1=
wrapper.ntservice.starttype=AUTO_START
wrapper.ntservice.interactive=false
5、运行cmd
cdc:\MyServerApp\bin
App.bat测试
InstallApp-NT.bat安装
UninstallApp-NT.bat卸载安装的服务
||***********************************************************************||
服务里面,程序获取当前路径,不是根据.class或者jar文件所在的目录下的,而是bin目录下。
这一点很重要。所以很多程序所要的配置必须放在bin目录下,而不是和程序放在一起的目录下面。
否则服务执行时候,找不到所需的配置文件。
附加说明: 由于本人是在虚拟机下执行上述实验的,不便截图与复制配置文件内容回本机, 因此截图与配置文件都是copy网上的(可能部分文件名有出入,自己摸索一下)
参考帖子:
http://blog.csdn.net/lfsf802/article/details/22517159
http://blog.csdn.net/sunny_sailor/article/details/7403025
相关文章推荐
- 【转载】向Java项目中导入jar包方法详述
- 在基于Struts构架的Java Web项目中加入ICTCLAS分词http://blog.csdn.net/CloneIQ/archive/2006/08/09/1043088.aspx
- “快的打车”创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX
- java项目中Classpath路径到底指的是哪里?(转载)
- [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- JAVA中DWR开发项目实战经验(转载)
- 获取Java项目根目录(转载)
- java S2SH项目框架整合搭建实例教程(转载)
- 获取JAVA[WEB]项目相关路径的几种方法(转载)
- java快速开发平台 二次开发 外包项目利器 springmvc SS-M后台框架源码 (转载)
- JAVA中获取项目文件路径[转载的一篇关于 相对路径 的文章]
- 详解Maven项目利用java service wrapper将Java程序生成Windows服务
- 让PHP支持大型项目-构建JSP、PHP与JAVA融为一体的开发环境[转载]
- tomcat加入项目时报错:Project facet Java version 1.8 is not supported.
- JAVA web 项目加入ueditor富文本编辑器 和 kityformula公式插件 遇到的问题和解决
- Java版星际----已加入Google Code开源项目
- 获取Java项目根目录 N多方法(转载)
- 【转载】java项目中经常碰到的内存溢出问题: java.lang.OutOfMemoryError: PermGen space, 堆内存和非堆内存,写的很好,理解很方便
- 在java项目开发中要加入的spring的jar包(以spring 3.1版本为例)