1 @echo off2
3 rem 修改控制台颜色4 color 1d5
6 rem * 使用JavaService将TestTimer安装为Windows服务的脚本7 rem *8 rem * JavaService - Windows NT Service Daemon for Java applications9 rem * Copyright (C) 2006 Multiplan Consultants Ltd. LGPL Licensing applies10 rem * Information about the JavaService software is available at the ObjectWeb11 rem * web site. Refer to http://javaservice.objectweb.org for more details.12
13 rem 开始批处理文件中环境改动的本地化操作,在使用endlocal后环境将恢复到原先的内容14 SETLOCAL15
16 rem 设置环境变量,指向当前路径17 SET BASE_PATH=%CD%18 rem 设置Java path: jre_home19 SET JRE_HOME=C:\Program Files\Java\jre720 rem 判断JRE_HOME是否正确21 if "%JRE_HOME%" == "" goto no_java22 if not exist "%JRE_HOME%\bin\java.exe" goto no_java23 rem 设置jvm内存分配情况24 set JVM_MEMORY=-Xms256m -Xmx512m25
26 rem 设置jvmdll使用哪一种模式27 SET jvmdll=%JRE_HOME%\bin\client\jvm.dll28 if not exist "%jvmdll%" SET jvmdll=%JRE_HOME%\bin\server\jvm.dll29 if not exist "%jvmdll%" goto no_java30
31 rem 设置JavaService路径32 set JSBINDIR=E:\project33 set JSEXE=%JSBINDIR%\JavaService.exe34
35 rem 判断jar是否正确36 SET acctjar=%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar37 if not exist "%acctjar%" goto no_peer38
39 @echo . Using following version of JavaService executable:40 @echo .41 "%JSEXE%" -version42 @echo .43
44 rem parameters and files seem ok, go ahead with the service installation45 @echo . %BASE_PATH% +++++++++++++++++++46
47 rem 处理该批处理的输入参数,后台服务启动模式:自动48 SET svcmode=49 if "%1" == "-manual" SET svcmode=-manual50 if "%1" == "-auto" SET svcmode=-auto51
52
53 rem 设置JAVA_OPTS54 set JAVA_OPTS=%JAVA_OPTS% -Djava.class.path="%BASE_PATH%\UDPServer-0.0.1-SNAPSHOT.jar"55 set JAVA_OPTS=%JAVA_OPTS% %JVM_MEMORY%56
57 rem 设置startstop58 SET START_STOP=-start com.dsdl.server.Main59
60
61 rem 设置Log文件路径62 set OUT_ERR=-out "%BASE_PATH%\service_out.log" -err "%BASE_PATH%\service_err.log"63
64 rem 设置desp65 set DESP=-description "UdpServer Service"66
67 rem 设置执行命令行68 set runcmd="%JSEXE%" -install UDPSERVER69 set runcmd=%runcmd% "%jvmdll%"70 set runcmd=%runcmd% %JAVA_OPTS%71 set runcmd=%runcmd% %START_STOP%72 set runcmd=%runcmd% %OUT_ERR%73 set runcmd=%runcmd% -current74 set runcmd=%runcmd% "%BASE_PATH%"75 set runcmd=%runcmd% %svcmode%76 set runcmd=%runcmd% -overwrite77 set runcmd=%runcmd% -startup 678 set runcmd=%runcmd% %DESP%79 echo %runcmd%80
81 rem 执行安装命令82 %runcmd%83
84 rem 启动服务85 net start UDPSERVER86 if ERRORLEVEL 1 goto js_error87
88 goto end89
90 :no_java91 @echo . No java Evn92 goto error_exit93
94 :no_peer95 @echo . jar is not exist96 goto error_exit97
98
99 :no_jsexe100 @echo . JavaService.exe is not exist101 goto error_exit102
103
104 :js_error105 @echo . UDPSERVER error106 goto error_exit107
108 :error_exit109
110 @echo .111 @echo . install fail,can not make UDPServer-0.0.1-SNAPSHOT install for Windows Service112 @echo .113 @echo . mingling geshi:114 @echo .115 @echo . %~n0 [-auto / -manual] [-np]116 @echo .117 @echo . qizhong:118 @echo . -auto (默认) or -manual 参数说明了服务的启动模式:自动或者手动119 @echo . -np 批处理命令执行完毕后不暂停120 @echo .121 @echo . 比如:122 @echo . %~n0 -auto -np123
124 :end125 ENDLOCAL126 @echo .127 if "%2" NEQ "-np" @pause