使用Java Service Wrapper以windows服务的形式运行Java程序
2017-05-03 00:00
363 查看
使用Java Service Wrapper可以将jar包变为windows服务,在windows服务器后台执行,防止维护人员误操作。
在后面的博客中提到的WinSW可以完成相同的工作,且使用起来更方便,而且开源免费!建议使用WinSW。
坑爹的windows下的最新版本、之前的版本都没有提供64位的community版,如果相在64位的电脑上运行就得使用pro或者std版本。
在CSDN上有std版的破解版:http://download.csdn.net/detail/lff0305/8612853
将java程序打包成jar包
创建目录,引入jar包并创建bin、lib、conf、logs四个文件夹
将java service wrapper下的这些文件拷到bin文件夹里,把.bat.in文件的.in都去掉
The wrapper.exe file is the actual Wrapper executable. The three batch files are used to run HelloWorld in a console and to install/uninstall it as a Windows Service.
将java service wrapper下的这些文件拷到lib文件里
将java service wrapper下的这些文件拷贝到conf文件里,去掉.in
如果使用上面给出的破解版的话,还需要把下面这个文件拷贝到conf文件夹里,以完成破解
添加全局路径(如果在本机上测试,部署到服务器上时记得修改)
添加java命令所在地址
添加jar包地址
添加dll所在地址
添加程序入口
添加JVM参数
添加服务说明
其他设置保持原样即可。
这样设置过一次以后,如果想要迁移、更换服务器等等,只需要修改全局路径和程序入口。
App.bat:编译、运行jar文件,用于调试、发现错误
InstallApp-NT.bat:将jar程序转为windows服务并注册
UninstallApp-NT.bat:将已注册的服务从服务列表中删除
在后面的博客中提到的WinSW可以完成相同的工作,且使用起来更方便,而且开源免费!建议使用WinSW。
1、下载Java Service Wrapper
Java Service Wrapper官网地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp,pro和std版本需要收费。坑爹的windows下的最新版本、之前的版本都没有提供64位的community版,如果相在64位的电脑上运行就得使用pro或者std版本。
在CSDN上有std版的破解版:http://download.csdn.net/detail/lff0305/8612853
2、使用Java Service Wrapper将Java程序转为windows服务
Java Service Wrapper一共有四种使用方式,这里介绍最简单也是最推荐的方法:2.1、文件准备
解压下载的java service wrapper将java程序打包成jar包
创建目录,引入jar包并创建bin、lib、conf、logs四个文件夹
将java service wrapper下的这些文件拷到bin文件夹里,把.bat.in文件的.in都去掉
{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
The wrapper.exe file is the actual Wrapper executable. The three batch files are used to run HelloWorld in a console and to install/uninstall it as a Windows Service.
将java service wrapper下的这些文件拷到lib文件里
{WRAPPER_HOME}\lib\wrapper.dll {WRAPPER_HOME}\lib\wrapper.jar
将java service wrapper下的这些文件拷贝到conf文件里,去掉.in
{WRAPPER_HOME}\src\conf\wrapper.conf.in
如果使用上面给出的破解版的话,还需要把下面这个文件拷贝到conf文件夹里,以完成破解
{WRAPPER_HOME}\conf\wrapper-license.conf
2.2、更改配置文件wrapper.conf
下载下来的配置文件里本身就有一些默认设置,下面提及一些需要修改或添加的地方:添加全局路径(如果在本机上测试,部署到服务器上时记得修改)
# 设置全局路径变量 set.MYAPP_HOME=E:\学习测试\windowsService set.JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101
添加java命令所在地址
#Java命令所在地址 wrapper.java.command=%JAVA_HOME%/bin/java
添加jar包地址
# Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 wrapper.java.classpath.1=%MYAPP_HOME%/lib/wrapper.jar wrapper.java.classpath.2=%MYAPP_HOME%/DataGenerator.jar
添加dll所在地址
# Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=%MYAPP_HOME%/lib
添加程序入口
# Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=com.ipubtrans.Main
添加JVM参数
# JVM参数 # Initial Java Heap Size (in MB) wrapper.java.initmemory=128 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=512
添加服务说明
# Name of the service wrapper.name=Test # Display name of the service wrapper.displayname=Test # Description of the service wrapper.description=测试
其他设置保持原样即可。
这样设置过一次以后,如果想要迁移、更换服务器等等,只需要修改全局路径和程序入口。
2.3、注册服务、删除服务
在第一步中,我们拷贝了App.bat、InstallApp-NT.bat、UninstallApp-NT.bat三个文件到bin文件中,下面介绍这三个批处理文件的作用:App.bat:编译、运行jar文件,用于调试、发现错误
InstallApp-NT.bat:将jar程序转为windows服务并注册
UninstallApp-NT.bat:将已注册的服务从服务列表中删除
相关文章推荐
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用JavaServiceWrapper把Java程序作为Windows系统服务 from http://www.233.com
- 使用java service wrapper把windows flume做成服务
- 使用Wrapper将Java Application程序封装为Windows下面的服务
- Java魔法堂:以Windows服务的形式运行Java程序
- Windows 防火墙无法运行 - “由于另一个程序或正在运行的服务可能正在使用网络地址转换组件(Ipnat.sys)”
- 使用命名管道在winform程序中输出windows service运行状态
- Windows 防火墙无法运行 "由于另一个程序或正在运行的服务可能正在使用网络地址转换组件"
- 使用Wrapper来将Java程序转化为NT系统服务(转)
- Windows 防火墙无法运行 - 由于另一个程序或正在运行的服务可能正使用
- 使用Java Service Wrapper将Java程序发布成Windows Service--艾泽拉斯之海洋女神出品
- 使用Java Service Wrapper设置tomcat作为linux服务并且开机自动启动
- Windows 防火墙无法运行-“由于另一个程序或正在运行的服务可能正在使用网络地