Windows下的java启动脚本

最近部分项目的子系统由linux转向windows,根据实际情况的需求结合网络资源整理了一份Bat脚本,用于在Windows下启动java app。

脚本:

@echo off
REM Project name: Windows下的java启动脚本
REM Author:       Jason
REM Date:         2013-4-16
REM Version:      1.0


IF "%CLASSPATH%" EQU "" (
echo CLASSPATH PARARMS IS NULL
pause
goto END
)


REM 叠加classpath method
IF "%1"=="##" goto ENVSET


REM 库文件所在的目录,相对于当前路径
SET LIBDIR=libs


REM 设定CLSPATH 变量,并初始化为系统的classpath
SET CLSPATH=%CLASSPATH%


REM 读取指定Libs目录下的*.jar,并执行ENVSET函数进行classpath叠加
FOR %%c IN (%LIBDIR%\*.jar) DO CALL %0 ## %%c

REM 从app.pro 资源文件中读取启动脚本所需的信息,如:title、app launcher、jvm params...
REM app.pro是N个键值对,重复的键将被最后一个替换,不会叠加
FOR /F "tokens=1,2 delims==" %%A IN (.\app.properties) DO set %%A=%%B


title %app.title%


REM 指定logback配置文件所在位置
REM 废弃
REM set LogArgs=-Dlogback.configurationFile=conf/logback.xml


REM 要启动的类名
SET CLSNAME=%app.launcher%


REM JVM参数设定
IF "%app.xmx%" NEQ "" (
	set App.xmx=%app.xmx%
) else (
	set App.xmx=-Xmx256M
)

IF "%app.xms%" NEQ "" (
	set App.xms=%app.xms%
) else (
	set App.xms=-Xms256M
)

IF "%app.xmn%" NEQ "" (
	set App.xmn=%app.xmn%
) else (
	set App.xmn=-Xmn30M
)

IF "%app.xss%" NEQ "" (
	set App.xss=%app.xss%
) else (
	set App.xss=-Xss256K
)
set MemoryArgs=%App.xmx% %App.xms% %App.xmn% %App.xss% 


REM 运行app
GOTO RUN


:RUN
echo %CLSPATH%
java -cp %CLSPATH% %MemoryArgs% %CLSNAME% 
goto END


:ENVSET
set CLSPATH=%CLSPATH%;%2
goto END


:END


你可能感兴趣的:(windows)