`
coconut_zhang
  • 浏览: 543742 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

发布Java程序为Windows(Linux)服务[Java Service Wrapper]

    博客分类:
  • java
阅读更多

下载Windows版本:(请使用Community版本,因Professional和Standard版本需要购买Licenses)

      ☆假设项目放在目录project文件夹下,发布的包放在project/lib下,日志文件放在project/log下,配置文件放在project/conf下,运行的jar为myjar.jar。


      ☆在下载包后解压,将Java Service Wrapper包中src/bin/的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in和bin/下的wrapper.exe放在project目录下,把后缀.in去掉。【App.bat(可以直接运行程序),InstallApp-NT.bat(安装成Windows服务),UninstallApp-NT.bat(卸载Windows服务)】。修改App.bat,InstallApp-NT.bat,UninstallApp-NT.bat中的set _WRAPPER_CONF="%_REALPATH%conf\wrapper.conf"。


      ☆把Java Service Wrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到project/lib下,在原来的运行的jar文件myjar.jar中的MANIFEST.MF增加Class-Path: 其他jar wrapper.jar wrapper.dll。


      ☆把Java Service Wrapper包中src/conf目录下的wrapper.conf.in放到project/conf下,去掉后缀.in。然后修改为

wrapper.java.classpath.1=dist/wrapper.jar
wrapper.java.classpath.
2=dist/myjar.jar

wrapper.java.library.path.
1=dist

#原来程序运行的入口
wrapper.app.parameter.
1=myapp.mainClass

wrapper.logfile
=log/wrapper.log
wrapper.console.title
=MyApp服务
wrapper.ntservice.name
=MyApp服务
wrapper.ntservice.displayname
=MyApp服务
wrapper.ntservice.description
=MyApp服务



      ☆然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自己的程序没有执行。另外如果在project/bin当成bat的目录的话没这么麻烦。

 

 

<!-- Linux-->

使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest。

下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/tianlong/lib目录下。

1、下载Java Service Wrapper(请使用Community版本,因Professional和Standard版本需要购买Licenses), 解压。 

      http://wrapper.tanukisoftware.org/
      复制src\bin\sh.script.in到/opt/tianlong/bin目录,重命名为QueueTest
      复制wrapper\bin目录下的wrapper文件到/opt/tianlong/bin目录
      复制src\conf\wrapper.conf.in到/opt/tianlong/conf目录,重命名为wrapper.conf
      复制src\lib\lib目录下3个文件到/opt/tianlong/lib目录
              wrapper.so
              wrapper.jar
              wrappertest.jar

2、修改/opt/tianlong/bin/QueueTest文件
      APP_NAME="QueueTest" //注意这里,这里的应用服务名称应该与第1步的/opt/tianlong/bin里面的  QueueTest名字相同
      APP_LONG_NAME="QueueTest Application Server"
      WRAPPER_CMD="./wrapper" //这里的路径要写正确,这里是对应了/opt/tianlong/bin/wrapper这个文件
      WRAPPER_CONF="../conf/wrapper.conf" //这里的路径要写正确,这里是对应了/opt/tianlong/conf/wrapper.conf这个文件
      赋予执行权限
      chmod 775 /opt/testapp/bin/SocketServer
      chmod 775 /opt/testapp/bin/wrapper

3、修改/opt/tianlong/conf/wrapper.conf文件
      wrapper.java.command=/usr/java/jdk1.6.0_07/bin/java   //这里是写java的安装路径
      使用WrapperStartStopApp,这样可以通过命令带start/stop来启动/停止程序。
      wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
      #这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的
      wrapper.java.classpath.1=../lib/wrapper.jar
      wrapper.java.classpath.2=../lib/tianlong.jar     //这里表示将打包好的tianlong.jar放在/opt/tianlong/lib这个文件夹中
      wrapper.java.classpath.3=../lib/asterisk-java-0.3.jar
      wrapper.java.classpath.4=../lib/mysql-connector-java-5.1.6-bin.jar
      wrapper.java.classpath.5=/usr/java/jdk1.6.0_07/lib/dt.jar
      wrapper.java.classpath.6=/usr/java/jdk1.6.0_07/lib/tools.jar
      wrapper.java.classpath.7=../cofig.properties   //这个是应用程序用到的配置文件。如果使用的应用程序需要用到  配置,就需要把这个文件包含进来
      wrapper.java.library.path.1=../lib   //这里是表示wrapper使用到的jar包的路径,一般默认即可,绝对路径是:/opt/tianlong/lib
      #wrapper.java.initmemory=3
        JVM启动时的初始内存大小,当前是3M,如果要自定义,将#去掉,设置自己的值即可。
      #wrapper.java.maxmemory=64
      JVM启动时的最大内存使用量,当前是64M,如果要自定义,将#去掉,设置自己的值即可。
      #这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类
      wrapper.app.parameter.1=tianlong.QueueTest
      wrapper.app.parameter.2=1
      wrapper.app.parameter.3=true
      wrapper.app.parameter.4=tianlong.QueueTest
      wrapper.app.parameter.5=true
      wrapper.app.parameter.6=1
      wrapper.app.parameter.7=stop

4、让QueueTest开机自动运行
      ln -s /opt/tianlong/bin/QueueTest  /etc/init.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc0.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc1.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc2.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc3.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc4.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc5.d/QueueTest
      ln -s /opt/tianlong/bin/QueueTest /etc/rc6.d/QueueTest

5、测试 执行命令:service QueueTest start|stop|restart|status
      程序运行时,Java Service Wrapper在/opt/tianlong/bin/目录下产生wrapper.log日志,
      STATUS | wrapper  | 2009/02/25 17:04:01 | --> Wrapper Started as Daemon
      STATUS | wrapper  | 2009/02/25 17:04:01 | Java Service Wrapper Community Edition 3.3.2
      STATUS | wrapper  | 2009/02/25 17:04:01 |   Copyright (C) 1999-2009 Tanuki Software, Ltd.  All Rights Reserved.
      STATUS | wrapper  | 2009/02/25 17:04:01 |     http://wrapper.tanukisoftware.org
      STATUS | wrapper  | 2009/02/25 17:04:01 |
      STATUS | wrapper  | 2009/02/25 17:04:01 | Launching a JVM...
      INFO   | jvm 1    | 2009/02/25 17:04:02 | WrapperManager: Initializing...

出现上面这个就表示已经配置成功了。如果配置有错误的话,在wrapper.log里面会有提示。
同时,如果程序配置成功的并且启动的话,在/opt/tianlong/bin里面会有一个QueueTest.pid。

附目录结构
/opt/tianlong/
    cofig.properties
/opt/tianlong/bin
                 | QueueTest
                 | wrapper
                 | wrapper.log(程序运行时自动产生)
/opt/tianlong/conf
                | wrapper.conf
/opt/tianlong/lib
                | libwrapper.so
                | wrapper.jar
                | tianlong.jar
                | mysql-connector-java-5.1.6-bin.jar
                | asterisk-java-0.3.jar

分享到:
评论

相关推荐

    Java Service Wrapper,Window,32位免费社区版

    Java Service Wrapper是一款强大的工具,专为Java应用程序设计,它允许开发者将Java程序转换为操作系统级别的服务,以便在Windows、Linux、Unix等系统上实现后台自动启动和管理。在这个32位免费社区版中,我们专注于...

    Java Service Wrapper部署说明

    Java Service Wrapper是一个开源工具,它允许开发者将Java应用程序部署为操作系统级别的服务,确保JVM的稳定运行,尤其在没有GUI的环境下。它适用于多种操作系统,包括Windows和Linux。本部署说明将详细介绍如何使用...

    Java Service Wrapper 将你的java应用程序安装成windows系统服务

    Java Service Wrapper是一个强大的工具,它允许开发者将Java应用程序在Windows操作系统上包装成系统服务,这样应用程序就可以在系统启动时自动启动,并且可以在后台无用户界面的情况下运行。这个工具对于那些需要...

    java service wrapper

    Java Service Wrapper是一个强大的工具,主要用于将Java应用程序包装成操作系统级别的服务,使得Java程序可以在Windows、Linux等系统下作为后台服务持续运行,不受用户登录或注销的影响。它提供了启动、停止、管理和...

    用Wrapper做java后台服务器程序

    Wrapper,全称Java Service Wrapper,是一种开源工具,能够帮助开发者轻松地将Java应用程序包装成Windows或Unix/Linux平台上的系统服务。这种方法不仅简化了Java服务的部署和管理,还提供了更稳定的运行环境和更好的...

    springboot使用wrapper安装windows服务

    Wrapper是一个名为`TNT4J-Wrapper`的开源工具,它可以将任何Java应用程序转换为一个独立的服务,适用于Windows、Linux、Unix等多种操作系统。Wrapper提供了一个配置文件,允许我们定制服务的行为,如启动参数、日志...

    JavaServerWrapper做成服务

    JavaServerWrapper是一个强大的工具,主要用于将Java应用程序包装成操作系统服务,这样可以方便地在Windows、Linux等系统上启动、停止和管理Java应用。这个过程通常称为“服务化”或者“做成服务”,它允许Java程序...

    Java程序 注册为 Windows 服务

    Java程序可以通过Java Service Wrapper(JSW)或者Apache Commons Daemon(Procrun)这样的工具注册为Windows服务。 **Java Service Wrapper (JSW)** JSW是一个开源工具,它允许Java应用程序以服务的形式在Windows...

    wrapper 部署linux跟window

    在IT行业中,Wrapper技术常见于Java开发中,如Apache Commons Daemon的Jsvc或Tanuki Software的Java Service Wrapper,它们允许Java应用程序作为系统服务在Windows或Linux上运行。这些Wrapper工具会处理启动、停止、...

    JavaServiceWrapper将Tomcat写成系统服务

    JavaServiceWrapper是一个强大的工具,它允许Java应用程序在操作系统级别作为服务运行,比如Windows或Linux的服务。这个工具使得Java应用程序,比如Tomcat这样的Web服务器,能够像其他系统服务一样被管理和控制,...

    Java Service Wrapper

    Java Service Wrapper可为应用程序提供以下功能: (1)把应用安装为Windows服务或Linux守护进程; (2)监测JVM运行情况,对于程序原因或内存溢出导致的虚拟机崩溃实现自动重启; (3)记录运行日志;

    java程序注册系统服务完整示例

    - 在Windows系统中,`Wrapper`提供了一个命令行工具`wrapper.exe`,可以使用`install-service`命令将Java程序注册为系统服务。例如:`wrapper.exe -i "myServiceName" --conf "path\to\wrapper.conf"`。 - 在Linux...

    wrapper服务

    1. **Wrapper工具**:Wrapper服务的核心是TOMCAT Wrapper或NSSM(Non-Sucking Service Manager),这些工具允许我们将Java程序注册为Windows或Linux等操作系统的服务。Wrapper提供了一个配置文件(如`wrapper.conf`...

    wrapper-windows-x86-32-3.5.30

    Java Service Wrapper是一个强大的工具,它允许Java应用程序在各种操作系统环境下,包括Windows 32位系统,作为本地系统服务运行。这个“wrapper-windows-x86-32-3.5.30”压缩包包含了用于32位Windows系统下的...

    Java-Service-Wrapper:将Java程序部署成系统服务的工具源码,支持Windows,Linux等多种操作系统

    Java服务包装器(Java Service Wrapper)是一个开源工具,专门用于将Java应用程序转换为可以在各种操作系统上作为系统服务运行的程序。这个工具对于那些希望在后台无用户交互的情况下启动、管理和监控Java应用程序的...

    java在Windows上用服务名启动

    JSW是一个开源项目,它允许Java应用程序以服务的形式在Windows、Linux、Unix等平台上运行。JSW提供了配置文件,用于设置服务名称、启动参数、环境变量等。 以下是使用JSW将Java程序转换为Windows服务的基本步骤: ...

    wrapper-windows-x86-32-3.5.6.zip

    Wrapper工具,全称为Java Service Wrapper,是一个开源的轻量级工具,专门用于将Java应用程序包装成Windows、Linux或Unix等操作系统的本地服务。它允许Java程序在操作系统启动时自动启动,并作为服务后台运行,即使...

    将Java程序注册成系统服务.pdf

    Java Service Wrapper(简称Wrapper)是一个工具,它允许Java应用程序作为操作系统服务运行,支持Windows、Linux、Unix等多种操作系统。通过Wrapper,我们可以将Java程序注册为系统服务,确保其稳定性和可靠性。 在...

    wrapper-linux-x86-64-3.5.32

    Java Service Wrapper可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行,本资源是linux 64位java环境下使用的wrapper资源,其他操作系统资源可以从地址:...下载

Global site tag (gtag.js) - Google Analytics