要通过windowsbat可unix shell启动java应用,一般来说有以下三步
1. 设置java运行环境 (jre)
2. 设置classpath
3. 运行java
如果系统环境变量中已经设置了java环境第一步就可能略去(一般情况下是设置了的)
ok,直接给个例子,现有一个java应用目录结构如下:
APP_HOME
-------bin
-------------bootstrap.jar (java入口及相关类)
-------------startup.bat (启动应用)
-------------setenv.bat (设置环境变量)
-------config (配置文件)
-------lib (应用所需jar)
-------------xxx.jar
-------------xxx.jar
-------logs (日志)
在startup.bat中加入以下内容:
@echo off
rem 返回上一级 设置应用目录
cd..
set APP_HOME=%CD%
rem 再次进入bin目录 保持当前目录不变
cd %APP_HOME%/bin
rem 设置java MAIN Class
SET CLSNAME=com.the4thcity.datapatch.Bootstrap
rem 如果第一个参数不为空 跳到SETENV
if not '%1==' goto SETENV
rem 设置classpath
SET CLSPATH=.;%APP_HOME%\config;%APP_HOME%\bin\bootstrap.jar;
rem 循环lib下所有jar文件加入claspath中
FOR %%c IN (%APP_HOME%\lib\*.jar) DO CALL %APP_HOME%\bin\setenv.bat %%c
goto RUN
:RUN
java -cp %CLSPATH% %CLSNAME%
goto END
:SETENV
call %APP_HOME%\bin\setenv.bat %1
goto RUN
:END
setenv.bat:
rem 将参数追加到 CLSPATH
set CLSPATH=%CLSPATH%;%1