- 浏览: 2552184 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
使用WRAPPER制作JAVA程序为WINDOWS服务
最近使用了一个第三方的软件将java写的应用注册成为windows的服务。
比如说james,activeMQ,hsql db等,注册成为了服务后,不用每天对着一个
CMD窗口,也不用每天启动了电脑后去启动这些程序,也是一件比较爽的事情。
用到的第三方的软件是java service wrapper,下载地址是
http://wrapper.tanukisoftware.org/doc/english/integrate-simple-win.html
我用的版本是3.2.3最新版本。
在hsqldb里面的data目录本来有runServer.bat,启动了之后的数据库是sillycat
runServer.bat脚本是这样写的:
@java -classpath ../lib/hsqldb.jar org.hsqldb.Server -database.0 sillycat -dbname.0 sillycat -port 9002
那首先我们拷贝并且重命名
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\bin\App.bat.in---D:\tool\hsqldb\data\Hsqldb.bat
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\conf\wrapper.conf.in---D:\tool\hsqldb\data\wrapper.conf
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\bin\wrapper.exe---D:\tool\hsqldb\data\wrapper.exe
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.dll---D:\tool\hsqldb\lib\wrapper.dll
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.jar---D:\tool\hsqldb\lib\wrapper.jar
其中hsqldb.bat是我们测试用的,wrapper.conf是配置文件,wrapper.exe,wrapper.dll,wrapper.jar都是需要的文件
,我们
可以在wrapper.conf中配置它的路径和名字的。
首先看hsqldb.bat,其中有行set _WRAPPER_CONF="%_REALPATH%\conf\wrapper.conf"
应为我们已经把脚本和配置放在了一个目录下面,所以要修改为:
set _WRAPPER_CONF="%_REALPATH%\wrapper.conf"
另外wrapper.conf就要修改得多了,我把整个文件都列出来,一个一个看,wrapper.conf:
#********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application j2sdk所安装的路径,如果path中有d://tool/j2sdk/bin,那么只写个java就可以了
wrapper.java.command=java
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
# of the documentation for details. 这个不用修改了
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1 从1开始,把hsqldb要用到的jar也要加入进去
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/hsqldb.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
# 这个主要是加入那个wrapper.dll吧,我理解的是
wrapper.java.library.path.1=../lib
# Java Additional Parameters 启动JVM的参数
#wrapper.java.additional.1=
# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3
# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=64
# Application parameters. Add parameters as needed starting from 1
# 第一个是启动hsqldb的主函数,从hsqldb的启动bat里面找到的,另外的就是启动参数了
wrapper.app.parameter.1=org.hsqldb.Server
wrapper.app.parameter.2=-database.0 sillycat
wrapper.app.parameter.3=-dbname.0 sillycat
wrapper.app.parameter.4=-port 9002
#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM
# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=0
# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=Hsql DB
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service 应用的名字
wrapper.ntservice.name=Hsql DB
# Display name of the service
wrapper.ntservice.displayname=Hsql DB
# Description of the service
wrapper.ntservice.description=Hsql DB
# Service dependencies. Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed. AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false
这个配置文件搞定了以后,就可以运行hsqldb.bat来测试一下,我们通过wrapper能不能正常启动
hsqldb,如果测试通过了。
那么就简单了,运行如下命令
wrapper.exe -i wrapper.conf -----装载WINDOWS服务
wrapper.exe -r wrapper.conf -----卸载WINDOWS服务
james邮件系统的D:\tool\james-2.3.1\bin下面就有wrapper.exe,只要把D:\tool\james-2.3.1\conf\wrapper.conf
拷贝过来运行命令就可以了,不过james-2.3.1版本用的wrapper好像不是最新版本的。有些不同。
activeMQ的D:\tool\apache-activemq-4.1.1\bin\win32下面也是准备好了的,运行命令就可以了。
最近使用了一个第三方的软件将java写的应用注册成为windows的服务。
比如说james,activeMQ,hsql db等,注册成为了服务后,不用每天对着一个
CMD窗口,也不用每天启动了电脑后去启动这些程序,也是一件比较爽的事情。
用到的第三方的软件是java service wrapper,下载地址是
http://wrapper.tanukisoftware.org/doc/english/integrate-simple-win.html
我用的版本是3.2.3最新版本。
在hsqldb里面的data目录本来有runServer.bat,启动了之后的数据库是sillycat
runServer.bat脚本是这样写的:
@java -classpath ../lib/hsqldb.jar org.hsqldb.Server -database.0 sillycat -dbname.0 sillycat -port 9002
那首先我们拷贝并且重命名
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\bin\App.bat.in---D:\tool\hsqldb\data\Hsqldb.bat
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\conf\wrapper.conf.in---D:\tool\hsqldb\data\wrapper.conf
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\bin\wrapper.exe---D:\tool\hsqldb\data\wrapper.exe
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.dll---D:\tool\hsqldb\lib\wrapper.dll
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.jar---D:\tool\hsqldb\lib\wrapper.jar
其中hsqldb.bat是我们测试用的,wrapper.conf是配置文件,wrapper.exe,wrapper.dll,wrapper.jar都是需要的文件
,我们
可以在wrapper.conf中配置它的路径和名字的。
首先看hsqldb.bat,其中有行set _WRAPPER_CONF="%_REALPATH%\conf\wrapper.conf"
应为我们已经把脚本和配置放在了一个目录下面,所以要修改为:
set _WRAPPER_CONF="%_REALPATH%\wrapper.conf"
另外wrapper.conf就要修改得多了,我把整个文件都列出来,一个一个看,wrapper.conf:
#********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application j2sdk所安装的路径,如果path中有d://tool/j2sdk/bin,那么只写个java就可以了
wrapper.java.command=java
# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
# of the documentation for details. 这个不用修改了
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1 从1开始,把hsqldb要用到的jar也要加入进去
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/hsqldb.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
# 这个主要是加入那个wrapper.dll吧,我理解的是
wrapper.java.library.path.1=../lib
# Java Additional Parameters 启动JVM的参数
#wrapper.java.additional.1=
# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3
# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=64
# Application parameters. Add parameters as needed starting from 1
# 第一个是启动hsqldb的主函数,从hsqldb的启动bat里面找到的,另外的就是启动参数了
wrapper.app.parameter.1=org.hsqldb.Server
wrapper.app.parameter.2=-database.0 sillycat
wrapper.app.parameter.3=-dbname.0 sillycat
wrapper.app.parameter.4=-port 9002
#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM
# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=0
# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=Hsql DB
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service 应用的名字
wrapper.ntservice.name=Hsql DB
# Display name of the service
wrapper.ntservice.displayname=Hsql DB
# Description of the service
wrapper.ntservice.description=Hsql DB
# Service dependencies. Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed. AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false
这个配置文件搞定了以后,就可以运行hsqldb.bat来测试一下,我们通过wrapper能不能正常启动
hsqldb,如果测试通过了。
那么就简单了,运行如下命令
wrapper.exe -i wrapper.conf -----装载WINDOWS服务
wrapper.exe -r wrapper.conf -----卸载WINDOWS服务
james邮件系统的D:\tool\james-2.3.1\bin下面就有wrapper.exe,只要把D:\tool\james-2.3.1\conf\wrapper.conf
拷贝过来运行命令就可以了,不过james-2.3.1版本用的wrapper好像不是最新版本的。有些不同。
activeMQ的D:\tool\apache-activemq-4.1.1\bin\win32下面也是准备好了的,运行命令就可以了。
发表评论
-
Update Site will come soon
2021-06-02 04:10 1679I am still keep notes my tech n ... -
Portainer 2020(4)Deploy Nginx and Others
2020-03-20 12:06 431Portainer 2020(4)Deploy Nginx a ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 436Private Registry 2020(1)No auth ... -
Docker Compose 2020(1)Installation and Basic
2020-03-15 08:10 374Docker Compose 2020(1)Installat ... -
VPN Server 2020(2)Docker on CentOS in Ubuntu
2020-03-02 08:04 455VPN Server 2020(2)Docker on Cen ... -
Nginx Deal with OPTIONS in HTTP Protocol
2020-02-15 01:33 356Nginx Deal with OPTIONS in HTTP ... -
PDF to HTML 2020(1)pdftohtml Linux tool or PDFBox
2020-01-29 07:37 405PDF to HTML 2020(1)pdftohtml Li ... -
Elasticsearch Cluster 2019(2)Kibana Issue or Upgrade
2020-01-12 03:25 720Elasticsearch Cluster 2019(2)Ki ... -
Spark Streaming 2020(1)Investigation
2020-01-08 07:19 295Spark Streaming 2020(1)Investig ... -
Hadoop Docker 2019 Version 3.2.1
2019-12-10 07:39 295Hadoop Docker 2019 Version 3.2. ... -
MongoDB 2019(3)Security and Auth
2019-11-16 06:48 241MongoDB 2019(3)Security and Aut ... -
MongoDB 2019(1)Install 4.2.1 Single and Cluster
2019-11-11 05:07 294MongoDB 2019(1) Follow this ht ... -
Monitor Tool 2019(1)Monit Installation and Usage
2019-10-17 08:22 325Monitor Tool 2019(1)Monit Insta ... -
Ansible 2019(1)Introduction and Installation on Ubuntu and CentOS
2019-10-12 06:15 312Ansible 2019(1)Introduction and ... -
Timezone and Time on All Servers and Docker Containers
2019-10-10 11:18 332Timezone and Time on All Server ... -
Kafka Cluster 2019(6) 3 Nodes Cluster on CentOS7
2019-10-05 23:28 283Kafka Cluster 2019(6) 3 Nodes C ... -
K8S Helm(1)Understand YAML and Kubectl Pod and Deployment
2019-10-01 01:21 326K8S Helm(1)Understand YAML and ... -
Rancher and k8s 2019(5)Private Registry
2019-09-27 03:25 362Rancher and k8s 2019(5)Private ... -
Jenkins 2019 Cluster(1)Version 2.194
2019-09-12 02:53 444Jenkins 2019 Cluster(1)Version ... -
Redis Cluster 2019(3)Redis Cluster on CentOS
2019-08-17 04:07 373Redis Cluster 2019(3)Redis Clus ...
相关推荐
"Wrapper工具包制作Windows服务"指的是利用特定的工具,如Java的Tanuki Wrapper,将应用封装成Windows可执行的服务程序。这种服务可以随操作系统启动而启动,无需用户交互,确保应用的稳定运行。 首先,让我们了解...
Java程序在Windows操作系统上作为服务运行,是一种常见的部署方式,特别是在需要后台持续运行且与系统启动同步的应用场景中。要实现这一目标,我们可以利用开源工具Winsw,它是一个小型的Windows服务封装器,允许...
本教程将深入讲解如何利用Java Service Wrapper将Java程序转化为系统服务。 首先,我们需要了解Java Service Wrapper的核心组件。`wrapper.conf`是Wrapper的配置文件,其中包含了运行Java应用的配置参数,如Java的...
本教程将讲解如何使用Maven结合Allatori将Java程序打包成可执行的exe文件,并进一步将其制作成Windows系统服务。 首先,你需要在你的项目中集成Maven。Maven是一个强大的项目管理和构建工具,通过XML配置文件管理...
《将Java程序制作成Windows服务:Wrapper压缩包详解》 在IT行业中,Java程序的运行环境通常是跨平台的,但为了让Java应用程序在Windows系统下能够像原生服务一样启动、管理和控制,开发者会借助特定工具,如...
Java Service Wrapper用于将Java应用转化为Windows NT服务,同时提供的脚本也可将Java应用设置为UNIX后台进程。这样,Java应用程序可以在系统启动时自动运行,无需用户手动启动。 ### 三.技术准备 在制作Java安装...
**制作Java程序的安装程序**: 对于大型程序,创建安装程序是必要的,这通常涉及到安装向导和安装构建工具,如InstallAnyWhere和InstallShield。这些工具可以帮助打包Java程序、库、依赖项和配置文件,并提供交互式...
1. **Java服务包装**:将Java应用打包为系统服务是通过特定的服务包装工具完成的,如Java Service Wrapper (JSW) 或 winsw。这些工具允许Java应用程序以Windows服务的形式启动和管理,可以设置自动启动、依赖项、...
为了便于服务管理和监控,可以使用工具如Java Service Wrapper或Spring Boot的Actuator,将JAR包装为Windows服务,实现自动启动、停止和监控功能。 总结来说,将Java项目打包成JAR服务并在Windows服务器上运行,...
这篇教程将详细介绍如何使用 Java 将程序转化为 EXE 格式。 首先,理解为什么需要将 Java 程序转换为 EXE。Java 程序通常以 JAR 文件的形式存在,需要 Java 运行时环境(JRE)才能运行。而 EXE 文件是 Windows 平台...
通过使用InstallAnywhere,开发者不仅可以将Java程序转换为EXE,还可以定制安装流程,增强用户体验。 ### 方法五:利用IBM AlphaWorks的Java Native Wrapper IBM AlphaWorks提供的Java Native Wrapper(JNW)技术...
- **NSIS (Nullsoft Scriptable Install System)**:一款脚本化的安装程序制作工具,同样支持将Java程序打包为安装程序。 #### 五、总结 将Java程序打包成EXE文件是一项常见的需求,尤其在面向非技术用户的情况下...
这里我们将使用Inno Setup,这是一个免费的安装制作工具,虽然它主要用来创建安装程序,但通过特定配置,也可以用于创建Windows服务。 1. **Inno Setup简介** Inno Setup是一个开源的安装脚本编译器,用于创建...
通过使用InstallAnywhere,开发者不仅可以将Java程序转换为EXE文件,还能实现定制化的安装流程和用户体验。 #### 5. IBM AlphaWorks - Java Native Wrapper [IBM AlphaWorks]...
接下来,我们需要借助第三方工具如`winsw`(Windows Service Wrapper)将其转换为Windows服务。Winsw是一个小型的Java应用程序,允许我们将任何可执行文件注册为Windows服务。 1. 下载winsw:访问GitHub上的Winsw...
exe4j是一款强大的Java应用程序封装工具,能够将Java程序打包成独立的exe可执行文件。 - 启动exe4j,并创建一个新的Java Application Wrapper项目。 - 在“Basic”选项卡中,选择“Jar/Folder”作为输入类型,并指定...
WinSW的全称为"Windows Service Wrapper",其核心功能是允许开发者将任何没有内置服务支持的程序作为Windows服务来运行,从而实现后台自动化启动、控制和管理。 WinSW的工作原理是通过一个代理进程(即WinSW.NET4....
2. **制作程序库**:支持静态库和动态库的构建,方便开发者进行模块化开发。 3. **生成适配器(Wrapper)**:能够生成与特定平台或编译器兼容的代码,提高跨平台兼容性。 4. **测试与打包**:与CTest和CPack等...
35.zip High Resolution Timing 高精度的时间处理(5KB)<END><br>36,36.zip Using Timers in MFC Applications 在MFC应用程序中使用时间(8KB)<END><br>37,37.zip Microsecond delay 百万分子一...