`

使用WRAPPER制作JAVA程序为WINDOWS服务

阅读更多
使用WRAPPER制作JAVA程序为WINDOWS服务
以前博客http://flytosea.blog.sohu.com/103894427.html
这个笔记是我在做IM服务器的时候找了很多文档而收集的的信息 ,朋友的博客写了一段 ,是简约版的,以下是详细信息:

使用一个第三方的软件将java写的应用注册成为windows的服务。

比如说james,activeMQ,hsql db,MSQL等,注册成为了服务后,不用每天对着一个
CMD的DOS窗口,也不用每天启动了电脑后去启动这些程序,也是一件比较爽的事情。
用到的第三方的软件是java service wrapper,
1.下载
    下载地址是http://wrapper.tanukisoftware.org/doc/english/download.jsp我用的版本是3.3.1最新版本。
     找到Download by Platform中的
    32-bit OS Windows CPU x86 3.3.1 Professional    
32位的Windows 系统商业的版本为3.3.1
     下载http://wrapper.tanukisoftware.org/download/3.3.1/wrapper-windows-x86-32-3.3.1-pro.zip    
你也可以下载下面的File Type所有的开源代码和详细的文档
2、准备如下文件,复制到test目录,这些文件可以从下载包中找到:
wrapper.dll
wrapper.exe
wrapper.jar

3、编写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.


#window服务配置
wrapper.console.title=Hsql DB

# 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服务


4、运行测试,安装服务
》测试运行是否正常
wrapper.exe -c wrapper.conf
》安装服务
wrapper.exe -i wrapper.conf
》卸载服务
wrapper.exe -r wrapper.conf
》启动
wrapper.exe -t wrapper.conf
》停止
wrapper.exe -p wrapper.conf



下面是我们服务器的wrappers.conf文件的详细文件

# Java Application完整路径
wrapper.java.command=java

wrapper.java.mainclass=org.esdimserver.server.WhileUDPServer

#定义程序运行的classpath
wrapper.java.classpath.1=Server.jar
wrapper.java.classpath.2=[jar file/path]

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=.

# Java Additional Parameters
#wrapper.java.additional.1=

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3

# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=64

# 运行的Main Class
wrapper.app.parameter.1=

wrapper.console.format=PM
wrapper.console.loglevel=INFO
wrapper.logfile=Beanskt.log
wrapper.logfile.format=LPTM
wrapper.logfile.loglevel=INFO

wrapper.logfile.maxsize=0
wrapper.logfile.maxfiles=0
wrapper.syslog.loglevel=NONE

#window服务配置
wrapper.console.title=Server_esd3
#服务名
wrapper.ntservice.name=Server_esd3

# 显示名称
wrapper.ntservice.displayname=Server_esd3 Service

# 描述
wrapper.ntservice.description=Server_esd3 Service

# 依赖项
wrapper.ntservice.dependency.1=

# 启动模式:  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# 是否交互.
wrapper.ntservice.interactive=false
分享到:
评论

相关推荐

    wrapper工具包制作windows服务

    "Wrapper工具包制作Windows服务"指的是利用特定的工具,如Java的Tanuki Wrapper,将应用封装成Windows可执行的服务程序。这种服务可以随操作系统启动而启动,无需用户交互,确保应用的稳定运行。 首先,让我们了解...

    java程序做成Windows服务运行

    Java程序在Windows操作系统上作为服务运行,是一种常见的部署方式,特别是在需要后台持续运行且与系统启动同步的应用场景中。要实现这一目标,我们可以利用开源工具Winsw,它是一个小型的Windows服务封装器,允许...

    用Java Service Wrapper将java程序制作成系统服务进程

    本教程将深入讲解如何利用Java Service Wrapper将Java程序转化为系统服务。 首先,我们需要了解Java Service Wrapper的核心组件。`wrapper.conf`是Wrapper的配置文件,其中包含了运行Java应用的配置参数,如Java的...

    使用maven将Java程序打包成exe文件并制作成Windows系统服务(六)之使用allatori对Java代码混淆

    本教程将讲解如何使用Maven结合Allatori将Java程序打包成可执行的exe文件,并进一步将其制作成Windows系统服务。 首先,你需要在你的项目中集成Maven。Maven是一个强大的项目管理和构建工具,通过XML配置文件管理...

    wrapper.zip

    《将Java程序制作成Windows服务:Wrapper压缩包详解》 在IT行业中,Java程序的运行环境通常是跨平台的,但为了让Java应用程序在Windows系统下能够像原生服务一样启动、管理和控制,开发者会借助特定工具,如...

    制作Java安装程序.doc

    Java Service Wrapper用于将Java应用转化为Windows NT服务,同时提供的脚本也可将Java应用设置为UNIX后台进程。这样,Java应用程序可以在系统启动时自动运行,无需用户手动启动。 ### 三.技术准备 在制作Java安装...

    如何制作Java可执行程序以及安装程序.doc

    **制作Java程序的安装程序**: 对于大型程序,创建安装程序是必要的,这通常涉及到安装向导和安装构建工具,如InstallAnyWhere和InstallShield。这些工具可以帮助打包Java程序、库、依赖项和配置文件,并提供交互式...

    windows10 jar包系统服务制作程序包

    1. **Java服务包装**:将Java应用打包为系统服务是通过特定的服务包装工具完成的,如Java Service Wrapper (JSW) 或 winsw。这些工具允许Java应用程序以Windows服务的形式启动和管理,可以设置自动启动、依赖项、...

    java项目制作jar包成服务配置

    为了便于服务管理和监控,可以使用工具如Java Service Wrapper或Spring Boot的Actuator,将JAR包装为Windows服务,实现自动启动、停止和监控功能。 总结来说,将Java项目打包成JAR服务并在Windows服务器上运行,...

    java制作exe全过程

    这篇教程将详细介绍如何使用 Java 将程序转化为 EXE 格式。 首先,理解为什么需要将 Java 程序转换为 EXE。Java 程序通常以 JAR 文件的形式存在,需要 Java 运行时环境(JRE)才能运行。而 EXE 文件是 Windows 平台...

    将Java应用程序本地编译为EXE的几种方法

    通过使用InstallAnywhere,开发者不仅可以将Java程序转换为EXE,还可以定制安装流程,增强用户体验。 ### 方法五:利用IBM AlphaWorks的Java Native Wrapper IBM AlphaWorks提供的Java Native Wrapper(JNW)技术...

    JAVA程序打包成exe文件

    - **NSIS (Nullsoft Scriptable Install System)**:一款脚本化的安装程序制作工具,同样支持将Java程序打包为安装程序。 #### 五、总结 将Java程序打包成EXE文件是一项常见的需求,尤其在面向非技术用户的情况下...

    将JAR编写成WINDOWS服务的过程(无须安装JRE,但需要JRE)

    这里我们将使用Inno Setup,这是一个免费的安装制作工具,虽然它主要用来创建安装程序,但通过特定配置,也可以用于创建Windows服务。 1. **Inno Setup简介** Inno Setup是一个开源的安装脚本编译器,用于创建...

    将JAVA编译为EXE的几种方法

    通过使用InstallAnywhere,开发者不仅可以将Java程序转换为EXE文件,还能实现定制化的安装流程和用户体验。 #### 5. IBM AlphaWorks - Java Native Wrapper [IBM AlphaWorks]...

    SpringBoot2制作成Window服务的方法.docx

    接下来,我们需要借助第三方工具如`winsw`(Windows Service Wrapper)将其转换为Windows服务。Winsw是一个小型的Java应用程序,允许我们将任何可执行文件注册为Windows服务。 1. 下载winsw:访问GitHub上的Winsw...

    SpringBoot项目制作成exe安装包.docx

    exe4j是一款强大的Java应用程序封装工具,能够将Java程序打包成独立的exe可执行文件。 - 启动exe4j,并创建一个新的Java Application Wrapper项目。 - 在“Basic”选项卡中,选择“Jar/Folder”作为输入类型,并指定...

    WinSW.NET4.zip

    WinSW的全称为"Windows Service Wrapper",其核心功能是允许开发者将任何没有内置服务支持的程序作为Windows服务来运行,从而实现后台自动化启动、控制和管理。 WinSW的工作原理是通过一个代理进程(即WinSW.NET4....

    CMake是一个跨平台的安装(编译)工具.docx

    2. **制作程序库**:支持静态库和动态库的构建,方便开发者进行模块化开发。 3. **生成适配器(Wrapper)**:能够生成与特定平台或编译器兼容的代码,提高跨平台兼容性。 4. **测试与打包**:与CTest和CPack等...

    Visual C++ 编程资源大全(英文源码 其它)

    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 百万分子一...

Global site tag (gtag.js) - Google Analytics