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位系統使用目錄下子目錄的amd64\prunsvr.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
更多幫助請參考官方幫助說明文檔。
posted on 2014-01-23 10:46
水 閱讀(3706)
評論(0) 編輯 收藏 引用 所屬分類:
項目管理