Skip to content

使用 java service swapper 将 jar 包注册为 windows 服务

🏷️ Java


原文:使用 java service wrapper 将 java 程序注册为 windows 服务


将 java 注册为 windows 服务后,我们就直接可以通过 windows 的服务来启动和关闭 java 程序了。

  1. 下载 java service wrapper

    网址:http://sourceforge.net/projects/wrapper/ 或者 http://wrapper.tanukisoftware.com/doc/english/download.jsp

    我下载的版本是 wrapper-windows-x86-32-3.5.20.zip。

  2. 配置过程

    1. 首先确定你的电脑上有 java 运行环境,没有的话请安装。

    2. 将你的 java 程序打包成 jar 包。(我的 jar 的名称为 JavaServiceTest.jar,main 方法所在类 JavaServiceTest)

    3. 在硬盘上创建文件夹 test, 并在其下创建文件夹 bin, conf, lib, logs。

    4. 解压 wrapper-windows-x86-32-3.5.20.zip,并将其 bin 目录下的 Wrapper.exe、src/bin 目录下的 App.bat.in、InstallApp-NT.bat.in、UninstallApp-NT.bat.in 文件

      拷贝到 test 的 bin 目录中,并分别改名为 App.bat、InstallApp-NT.bat、UninstallApp-NT.bat。

    5. 将其 lib 目录下的 Wrapper.DLL、wrapper.jar 拷贝到 test 的 lib 目录中。并且将项目的 jar 和所用到的 jar 都拷贝到该目录(包括你自己的 java 程序 jar)。

    6. 将其 src/conf 目录下的 wrapper.conf.in 拷贝到 workapp 的 conf 目录中,并命名为 wrapper.conf。

  3. 修改 wrapper.conf 文件

    主要修改下面几项:

    1. JVM 位置:

      wrapper.java.command=C:\jdk1.5.0_07\bin\java 或者 wrapper.java.command=%JAVA_HOME%/bin/java(需要在系统的环境变量里配置 JAVA_HOME

    2. MAIN CLASS 此处决定了使用 Java Service Wrapper 的方式

      ini
      wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
    3. 你的 Java 程序所需的 jar 包必须全部在此标明,注意路径准确:

      ini
      wrapper.java.classpath.1=../lib/JavaServiceTest.jar
      wrapper.java.classpath.2=../lib/wrapper.jar
      wrapper.java.classpath.3=../lib/sqljdbc4.jar
      ……
    4. 你的 Wrapper.DLL 或 wrapper.jar 所在的目录

      ini
      wrapper.java.library.path.1=../lib
    5. 你的 Java 应用程序的运行类(主类)

      ini
      wrapper.app.parameter.1=com.test.JavaServiceTest
    6. 注册为服务的名称和显示名,你可以随意进行设置

      ini
      wrapper.name=testwrapper
      wrapper.displayname= Test Wrapper Sample Application
    7. 服务描述信息

      ini
      wrapper.description= Test Wrapper Sample Application Description
    8. 服务的启动类型

      ini
      # Mode in which the service is installed.  AUTO_START, DELAY_START or DEMAND_START
      wrapper.ntservice.starttype=AUTO_START
  4. 修改好了以后,运行 MyApp.bat 即可运行你的 java 程序,这里可以测试配置的是否正确,如果可以运行,证明配置 ok。

  5. 运行 InstallApp-NT.bat 可以进行服务的注册,UninstallApp-NT.bat 为注销服务。

  6. 运行完注册服务 InstallApp-NT.bat 可以在 控制面板-管理程序-服务中看到你注册的服务名称。(如:Test Wrapper Sample Application)


官方的 64 位不提供社区版,但是在下面的网址找到了一个可用的版本
传送门:Java Service Wrapper 3.5.14 for Windows x64
下载地址:wrapper-windows-x86-64-3.5.14.zip