用JavaServiceWrapper将JAVA程序发布成Windows服务
怎么把jar文件做成系统服务,比较多的解决方案是使用 wrapper-windows 这个软件包。这个软件包的强大之处是能把jre环境也给打进去,这个服务可以正常运行在根本没有jre环境即就没有安装JDK的机器上。
1.到Java Service Wrapper 官网https://wrapper.tanukisoftware.com/doc/english/download.jsp,下载一个符合自己操作系统的版本。
这里用的是32位3.5.30最新版本的。(注:32版本是免费的,64是需要付费的)
2.下载后解压,里面包含 bin, conf ,doc, jdoc lib, logs, src 7个文件夹。
3.自己独立新建一个文件夹,如:Test ,在此文件夹下创建lib,bin,logs,conf是个文件夹。
4.将解压后的的wrapper文件夹下对应的文件移入到Test中
wrapper-windows\src\bin 下的
App.bat.in
InstallApp-NT.bat.in
PauseApp-NT.bat.in
ResumeApp-NT.bat.in
StartApp-NT.bat.in
StopApp-NT.bat.in
UninstallApp-NT.bat.in
复制到bin目录下,并将后缀为.in的文件全部重命名,去掉.in。例如: App.bat.in重命名为App.bat
wrapper-windows\bin\wrapper.exe -> Test\bin\wrapper.exe
wrapper-windows\conf\wrapper.conf.in -> Test\conf\wrapper.conf
wrapper-windows\conf\wrapper-license-time.conf-> Test\conf\wrapper-license.conf
wrapper-windows\lib\wrapper.jar -> Test\lib\wrapper.jar
wrapper-windows\lib\wrapper.dll -> Test\lib\wrapper.dll
wrapper-windows\logs 下的文件复制到myWindowServ\logs目录下。
5.将要发布的Java程序的classes放在Test的lib文件夹下边,
将程序依赖的jar包放在Test/lib下。
6.修改wrapper.conf文件的内容,
(1)wrapper.java.command=java 用的是jdk的编译命令,所在机器,必须安装有jdk.
(2)wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp 表示,启动主函数,这里用wrapper的代理。
(3)
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/classes
wrapper.java.classpath.3=../lib/aspectjrt-1.6.12.jar 将依赖的jar也以这种形式添加到classpath下。
............................................
(4)wrapper.java.initmemory=128 配置程序运行的所需要的内存大小,这里是限制服务所占用的最小和最大内存,根据程序运行的效果也可以不改。
wrapper.java.maxmemory=256
(5)wrapper.app.parameter.1=com.bizvane.ConnectorApp
指定程序的主类
如 com.weiguo.mypro.TimerRun 是 myJar打包工程中main方法所在的类
就需要如下配置:
wrapper.app.parameter.1=com.weiguo.mypro.TimerRun
(6)控制台运行时的名称 (显示在任务管理器和服务里面的)
wrapper.console.title=TestServer
指定服务的名称(显示在任务管理器和服务里面的)
wrapper.ntservice.name=TestServer
windows服务的显示名称 (显示在任务管理器和服务里面的)
wrapper.ntservice.displayname=TestServer
服务描述 (显示在服务里面的描述)
wrapper.ntservice.description=TestServer描述
(7)启动模式,默认是自启动AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
7.运行InstallApp-NT.bat安装服务,运行StartApp-NT.bat启动服务。先安装再启动。停止了再卸载。
8.可以暂停PauseApp-NT.bat,重启服务ResumeApp-NT.bat,停止服务StopApp-NT.bat。
9.卸载服务UninstallApp-NT.bat。
用JavaServiceWrapper将JAVA程序发布成Windows服务的更多相关文章
- 使用wrapper将java程序注册程windows服务后不生效
使用wrapper将java程序注册程windows服务后不生效 使用add.bat或test***.bat测试通过了, 然后使用install***.bat注册后cmd显示注册成功. 但是程序到了运 ...
- 使用srvany.exe把程序安装成windows服务的方法
http://mazhihui.iteye.com/blog/1294431 srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的 ...
- 使用srvany.exe将程序安装成windows服务的详细教程
srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...
- 使用srvany.exe把程序安装成windows服务
srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...
- 使用NSSM把任意exe程序注册成Windows服务
1.登录NSSM官网下载最新版本: http://www.nssm.cc/download 2.解压之后可以看到win32和win64位的nssm.exe,根据自己的电脑选择使用 3.拷贝一份nssm ...
- 如何将控制台程序包装成windows服务
1. 新建一个项目,或者从选择当前解决方案--右键-添加--新建项目 2. 选择(项目类型)Visual C#项目,(模板)Windows 服务,填写要创建的服务名称(修改默认的WindowServi ...
- 将bat文件或exe程序注册成windows服务
命令行使用sc命令.关于sc命令的详解,请自行查看帮助(sc /?),在此只简单提及如何加入系统服务功能.加入服务:sc create ServiceName binPath= 路径 start= a ...
- 使用EXE4J和Inno Setup 编译器将java程序打包成windows桌面应用安装程序
java项目结构如下: Demo是模仿程序快照,主要设计两个按钮:保存快照和恢复快照: 保存快照将对象(窗口)序列化保存下来,后面无论做了什么操作,只要点击恢复快照, 就会读取之前保存的序列化的对象. ...
- java程序发布成exe等
1.使用工具jartoexe http://www.regexlab.com/zh/jar2exe/free.htm http://www.jar2exe.com/ 2.exe4j.JSmooth等 ...
随机推荐
- C++继承中的同名覆盖
1,父子间的冲突是由继承带来的,两个类之间存在了继承的关系,必然的会带来一 些问题,本文要讨论的是父子之间成员变量或成员函数的命名问题: 2,思考: 1,子类中是否可以定义父类中的同名成员? 1,可以 ...
- js 获取ip和城市
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
- 虚机Linux最小系统下安装图形界面,与yum配置
出于未知原因,想装一下. 因为有光盘,所以就从光盘安装就可以了. 首先是配置yum下的下载地址: 找到yum的地址,然后打开文件. 然后建立该文件的/media/cdrom路径.将光盘挂载到该路径下. ...
- Kibana多用户创建及角色权限控制
1 介绍 ELK日志管理属于基础设施平台,接入多个应用系统是正常现象,如果接入多个系统的索引文件没有进行权限划分,那么很大程度会出现索引文件误处理现象,为了避免这种情况发生,多用户及权限设置必不可少. ...
- MySQL 主从同步架构中你不知道的“坑”
以下操作征对指定不同步库 binlog-format=ROW模式 1 查看主从的binlog模式 mysql> show slave status\G ********************* ...
- HTTP常用状态码详解
HTTP状态码: HTTP定义遵循一条规则:所有状态码的第一个数字代表了响应的状态.1表示消息:2表示成功:3表示重定向:4表示请求错误:5.6表示服务器错误.如下图: 1xx: 这一类型的状态码,代 ...
- ArrayList实现原理分析
ArrayList使用的存储的数据结构 ArrayList的初始化 ArrayList是如何动态增长 ArrayList如何实现元素的移除 ArrayList小结 ArrayList是我们经常使用的一 ...
- Scala Option 从官方DOC解析
Represents optional values. Instances of Option are either an instance of scala.Some or the object N ...
- Java Script语法
JavaScript 语法 JavaScript 是一个程序语言.语法规则定义了语言结构. JavaScript 语法 JavaScript 是一个脚本语言. 它是一个轻量级,但功能强大的编程语言. ...
- Wannafly挑战赛22 C 多项式(大数,多项式极限)
链接:https://ac.nowcoder.com/acm/contest/160/C 来源:牛客网 多项式 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言 ...