`
sillycat
  • 浏览: 2552184 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
阅读更多
使用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下面也是准备好了的,运行命令就可以了。



分享到:
评论

相关推荐

    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