`
hugebait
  • 浏览: 26544 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

使用Wrapper来将Java程序转化为NT系统服务

阅读更多
Wrapper 下载页面
   http://sourceforge.net/project/showfiles.php?group_id=39428

  最新的是3.1.2  以下例子都是在此版本下进行
  环境:Win2003server + JDK1.5 + Wrapper3.1.2
  首先: 打包自己的应用
               包含AA.jar  config.xml 一个lib文件夹----包含所有jar  还需要一个log文件夹,使用log4J日志

  配置wrapper.conf文件>
      wrapper.java.command=D:\Sun\AppServer\jdk\bin\java

     这里的指的是你用来执行你程序的Java.exe的路径,一般你配置了环境变量后就可以不管了,当然,你有好几个JDK的话,还是指定吧

     wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
     这个可不是指你的主类,而是和你采用的方式有关,如果你采用第一种整合方式的话,就 写上
    org.tanukisoftware.wrapper.WrapperSimpleApp  ,由它来封装服务


      wrapper.java.classpath.1=../lib/wrapper.jar
      这里添加你用到的jar包文件,从1..n你自己全写上吧,不过wrapper是必须的

     wrapper.java.library.path.1=../lib
    这个是你要存放wrapper.dll的位置,一般默认就可以了

   wrapper.app.parameter.1=
   这个就是你自己可执行程序的主类(MainClass),一般来说,就是包含public static void main的那个类

   # Name of the service 
   wrapper.ntservice.name=PESM_WEB_SERVICE

   # Display name of the service
   wrapper.ntservice.displayname=PESM_WEB_SERVICE

   # Description of the service
   wrapper.ntservice.description=PESM_WEB_SERVICE

  以上三个都有介绍,不说了,名字而已
 
   好,一切配置完成,直接拷贝src/bin下的三个文件,App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in到bin目录下,该名字成自己喜欢的,同时把后面的.in全部去掉

   执行 InstallApp-NT.bat.,哈哈,服务加进来了,
 
   好的,run一下,马上又停掉了,怎么搞得。

察看日志
STATUS | wrapper  | 2005/12/08 13:22:15 | Launching a JVM...
INFO   | jvm 1    | 2005/12/08 13:22:16 | log4j:ERROR setFile(null,true) call failed.
INFO   | jvm 1    | 2005/12/08 13:22:16 | java.io.FileNotFoundException: ..Log\System.log (系统找不到指定的路径。)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at java.io.FileOutputStream.openAppend(Native Method)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.FileAppender.setFile(FileAppender.java:282)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:161)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollingFileAppender.java:215)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:533)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:417)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:468)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.apache.log4j.Logger.getLogger(Logger.java:103)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at ytd.pesm.web.Client.<clinit>(Unknown Source)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at java.lang.Class.forName0(Native Method)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at java.lang.Class.forName(Class.java:164)
INFO   | jvm 1    | 2005/12/08 13:22:16 |     at org.tanukisoftware.wrapper.WrapperSimpleApp.main(WrapperSimpleApp.java:334)
INFO   | jvm 1    | 2005/12/08 13:22:16 | log4j:ERROR Either File or DatePattern options are not set for appender [systemLog].
INFO   | jvm 1    | 2005/12/08 13:22:16 | Wrapper (Version 3.1.2) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2005/12/08 13:22:16 |

一大堆,最重要的是(wrapper的日志在logs下)发现找不到自己要写得log文件目录,察看wrapper说明知道服务执行后,当前路径就变成bin了,而我们的log文件夹被在logs下,所以,修改log4j.properties中日志的存放路径如下

原来的是
log4j.appender.systemLog.File=Log\\System.log

log4j.appender.systemLog.File=..\\logs\\Log\\System.log

重启服务,ok,找到log路径了,成功启动

还是有点不放心,看看log日志先,一看,傻了,还有错

STATUS | wrapper  | 2005/12/08 13:17:21 | Launching a JVM...
INFO   | jvm 1    | 2005/12/08 13:17:22 | config.xml 监控平台配置错误!!
INFO   | jvm 1    | 2005/12/08 13:17:22 | Wrapper (Version 3.1.2) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2005/12/08 13:17:22 |
INFO   | jvm 1    | 2005/12/08 13:17:22 | 无法连接远程主机,请检查通信主机是否打开端口!!
INFO   | jvm 1    | 2005/12/08 13:17:22 | 无法连接远程主机,请检查通信主机是否打开端口!!

找不到config.xml文件,想想刚才的路径问题,把config.xml拷贝到bin下
哈,这下重启,解决问题,日志如下

STATUS | wrapper  | 2005/12/08 13:15:25 | --> Wrapper Started as Service
STATUS | wrapper  | 2005/12/08 13:15:25 | Launching a JVM...
INFO   | jvm 1    | 2005/12/08 13:15:27 | Wrapper (Version 3.1.2) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2005/12/08 13:15:27 |
INFO   | jvm 1    | 2005/12/08 13:15:27 | Server.IP:192.168.0.201 port:1888 Connected!

      写下来,一作备忘,二则看是否能给其他朋友一点帮助
分享到:
评论

相关推荐

    用JavaServiceWrapper将Java程序转化为NT系统服务

    JavaServiceWrapper是一个强大的工具,它允许开发者将Java应用程序转换为Windows NT系统服务,这样Java程序就可以在后台自动启动和管理,无需用户交互。这个过程对于那些需要在服务器上持续运行的Java应用尤其重要,...

    使用Wrapper将Java程序注册为Windows的服务

    在Windows系统中,将Java应用程序注册为系统服务能够实现程序的后台自动运行,并在系统启动时自动启动该程序,这对于服务器应用尤为关键。本文将详细介绍如何使用Java Service Wrapper(简称Wrapper)工具将Java程序...

    用Wrapper做java后台服务器程序

    ### 使用Wrapper将Java程序转换为后台服务器程序 在IT领域,特别是Java开发中,将Java应用程序转换为系统服务(后台运行)是一项常见的需求,尤其是在企业级应用或长时间运行的服务中。Wrapper,全称Java Service ...

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

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

    自己做的一个wrapper(java配置windows服务)程序

    标题中的“自己做的一个wrapper(java配置windows服务)程序”指的是创建了一个Java程序,该程序作为一个包装器(Wrapper),用于在Windows操作系统上配置和管理Java应用程序作为系统服务运行。这种技术通常用于确保...

    Java程序快速转换为windows服务运行

    本文将详细介绍如何利用Java Service Wrapper工具将Java程序转换为Windows服务运行的过程。 #### Java Service Wrapper简介 Java Service Wrapper是一款开源工具,用于将任何Java应用程序封装成一个Windows服务...

    Java Service Wrapper使用说明

    Java Service Wrapper是一款强大的工具,它能将任何标准的Java应用程序转换为Windows服务或Unix守护进程,极大地提升了Java应用程序在企业级环境中的可用性和稳定性。本文将详细解析Java Service Wrapper的使用步骤...

    wrapper,做的NT服务的例子

    `Wrapper`在这里通常是指一个第三方工具或库,比如Java的`Tanuki Software Service Wrapper`,它允许将Java应用程序转换为本地系统服务。Service Wrapper提供了一种方式来管理应用程序的生命周期,包括启动、停止、...

    监控web服务器日志;程序订制为windows服务;wrapper

    Wrapper通常指的是一个软件代理,它允许一个应用程序在特定环境中运行,比如将一个不支持作为Windows服务运行的应用程序转化为能够以服务形式启动和管理。这在需要后台持续运行的程序中非常常见,如Web服务器、...

    wrapper for windows

    `wrapper.dll` 和 `wrapper.exe` 是`wrapper` 库的核心组件,它们实现了将Java应用程序转换为NT服务的功能。`wrapper.dll` 是动态链接库,负责实际的服务管理和交互,而`wrapper.exe` 是服务的入口点,启动和控制`...

    wrapper-windows-x86-32-3.5.6.zip

    《将Java程序转换为Windows系统服务:Wrapper工具详解》 在IT行业中,有时我们需要让Java应用程序在Windows系统中像其他系统服务一样后台运行,确保程序的持续性和稳定性。这时,"Wrapper"工具就显得尤为重要。本文...

    JavaService

    JavaService 是一个开源工具,主要用于将Java应用程序包装成Windows服务(NT服务),使得Java程序可以在Windows操作系统环境下作为后台服务运行。这种服务模式对于需要长期运行且不需要用户交互的应用程序非常适用,...

    java在Windows上用服务名启动

    以下是使用JSW将Java程序转换为Windows服务的基本步骤: 1. **下载并安装JSW**: 从JSW官方网站获取最新版本的JSW,并按照指南进行安装。通常,这涉及到解压文件到指定目录。 2. **配置JSW**: 在JSW的安装目录下,...

    制作Java安装程序.doc

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

    把Spring boot jar作为服务运行

    Java Service Wrapper是一个工具,它可以将任何Java应用程序转换为一个Windows服务或Unix守护进程。使用Wrapper的好处在于,它不仅能够使应用程序随系统启动而自动运行,还提供了许多其他有用的功能,如异常处理、...

    SNMP Trap to CORBA Notify Service-开源

    该程序接收SNMP陷阱,将其转换为CORBA结构化的事件,然后将其推送到CORBA Notification Service。 该程序结合了JacORB,Java SNMP,log4j和Wrapper(用于将Java应用程序安装为NT服务)。

    Python 2.5

    个别的应用软件如果需要有一个可程序化界面也可以利用它来做为扩展语言用。最后,Python的可移植度非常高:它可以在许多的Unix类平台上运行,在Mac,MS-DOS,视窗Windows,Windows NT,OS/2,BeOS,以至RISCOS上都有...

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

    05.zip Finding memory leaks 发现内存的泄漏(6KB)&lt;END&gt;&lt;br&gt;6,06.zip Convert message ID to a string 将消息标志符转换成字符串(4KB)&lt;END&gt;&lt;br&gt;7,07.zip Message Tracer 消息跟踪(5KB)&lt;END&gt;&lt;br&gt;8,...

    Visual C++ 编程资源大全(英文源码 控件)

    (36KB)&lt;END&gt;&lt;br&gt;44,stealth.zip This SDI application shows how to create an application that doesn't show up in the task bar in Windows 95 or Windows NT 4.0. (29KB)&lt;END&gt;&lt;br&gt;45,tenhook.zip Because...

Global site tag (gtag.js) - Google Analytics