轉--Windows下將jar包封裝成服務程序


http://www.cppblog.com/aurain/archive/2014/01/23/205534.aspx

 

准備

         使用工具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位系統使用目錄下子目錄的amd64\prunsvr.exe。

         假設需要部署的jar包名稱為MyService.jar,我們先創建目錄MyService,將MyService.jar及prunsvr.exe都拷到MyService目錄,將prunsvr.exe重命名為MyService.exe。如果MyService.jar需要使用配置文件,如配置文件存放在conf目錄,那么需要將conf目錄一並拷到MyService目錄.

 

安裝腳本

         @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

 

卸載腳本

         @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

更多幫助請參考官方幫助說明文檔。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM