zoukankan      html  css  js  c++  java
  • Windows下将jar包封装成服务程序

    1 准备

             使用工具Procrun(http://commons.apache.org/proper/commons-daemon/procrun.html),下载地址(http://archive.apache.org/dist/commons/daemon/binaries/windows/),tomcat也是用其做服务程序。最新版的是commons-daemon-1.0.15-bin-windows.zip(更新日期2013-04-02 14:03),32位系统使用目录下默认的prunsvr.exe,64位系统使用目录下子目录的amd64prunsvr.exe。

             假设需要部署的jar包名称为MyService.jar,我们先创建目录MyService,将MyService.jar及prunsvr.exe都拷到MyService目录,将prunsvr.exe重命名为MyService.exe。如果MyService.jar需要使用配置文件,如配置文件存放在conf目录,那么需要将conf目录一并拷到MyService目录.

     

    2 安装脚本

             @echo off

     

             SET PR_PATH=%CD%

             SET PR_EXE=MyService.exe

     

             SET PR_SERVICE_NAME= MyService

             SET PR_DISPLAY_NAME= MyService

             SET PR_DESCRIPTION= MyService for XXX,Copyright XXXXXX.

     

             SET PR_JAR= MyService.jar

     

             SET START_CLASS=com.xxx.MyService

             SET START_METHOD=main

     

             SET STOP_CLASS=java.lang.System

             SET STOP_METHOD=exit

             SET STOP_PARAMS=0

     

     

             %PR_PATH%\%PR_EXE% //IS//%PR_SERVICE_NAME% --DisplayName="%PR_DISPLAY_NAME%" --Description="%PR_DESCRIPTION%" --Install="%PR_PATH%\%PR_EXE%" --JvmMs=2000 --JvmMx=2000 --JvmSs=1024 ++DependsOn=MSSQLSERVER --Jvm=auto --Startup=auto --StartMode=jvm --StartClass=%START_CLASS% --StartMethod=%START_METHOD% --StopMode=jvm --StopClass=%STOP_CLASS% --StopMethod=%STOP_METHOD% ++StopParams=%STOP_PARAMS% --Classpath="%PR_PATH%\%PR_JAR%"

     

             %PR_PATH%\%PR_EXE% //ES//%PR_SERVICE_NAME%

     

             @echo on

     

    3 卸载脚本

             @echo off

     

             SET PR_PATH=%CD%

             SET PR_SERVICE_NAME=MyService

             SET PR_EXE= MyService.exe

     

             %PR_PATH%\%PR_EXE% //DS//%PR_SERVICE_NAME%

     

             @echo on

     

    4 prunsvr参数说明

             prunsvr是一个可以将普通的程序包装成服务程序的命令行工具,其不仅适应于java程序,也适应于其它exe可执行程序。

             prunsvr命令格式//XX[//ServiceName]。

    主要命令行

    //TS 控制台方式运行

    //IS 安装服务

    //ES 启动服务

    //SS 停止服务

    //DS 删除服务

    主要命令行参数

    命令行参数前缀为--。如果前缀为++,那么这些参数会被附加在已经存在的选项后面。

    --Description 服务名称的描述 (最大1024字符)

    --DisplayName服务显示的名称

    --Install      procrun.exe //RS//ServiceName     安装镜像

    --Startup     服务启动模式,自动auto或者人工manual,默认为manual

    --Type       服务类型可以是交互式的桌面程序interactive。使用和这个选项仅限于本地系统帐号

    ++DependsOn 服务需要依赖的其他服务。依赖的服务使用 # 或者 ; 字符分割

    --Classpath       对于java类,设置jar包路径

    --JvmMs     初始内存池,单位 MB

    --JvmMx     最大内存池,单位 MB

    --JvmSs      线程堆栈,单位 KB

    更多帮助请参考官方帮助说明文档。

  • 相关阅读:
    BZOJ 3924 / Luogu P3345 [ZJOI2015]幻想乡战略游戏 (动态点分治/点分树)
    BZOJ 3065 带插入区间K小值 (替罪羊树套线段树)
    BZOJ 3217: ALOEXT (块状链表套trie)
    BZOJ 3514: Codechef MARCH14 GERALD07加强版 (LCT维护最大生成树+主席树)
    BZOJ 3932: [CQOI2015]任务查询系统 (主席树板题)
    BZOJ 3658: Jabberwocky (双向链表+BIT)
    BZOJ 1180 [CROATIAN 2009]OTOCI // BZOJ 2843 极地旅行社 // Luogu P4321 [COCI 2009] OTOCI / 极地旅行社 (LCA板题)
    BZOJ 2759 一个动态树好题 (LCT)
    BZOJ 2244: [SDOI2011]拦截导弹 (CDQ分治 三维偏序 DP)
    codefroces 612E Square Root of Permutation
  • 原文地址:https://www.cnblogs.com/aurain/p/8214937.html
Copyright © 2011-2022 走看看