Java アプリケーションの起動スクリプト - Windows・Linux
指定ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーションを起動するスクリプト例です。
今回のソースは http://github.com/fits/try_samples/tree/master/blog/20141103-1/
Windows の場合 (bat)
lib ディレクトリ内の全 JAR ファイルをクラスパスへ指定して Java アプリケーション (下記では sample.SampleApp) を実行する bat スクリプトは下記のようになります。
enabledelayedexpansion
と !<環境変数>!
で環境変数を遅延展開させる点に注意が必要です。
こうしないと CP 環境変数へ JAR のパスが正しく設定されません。
exec_java_sample.bat
@echo off setlocal enabledelayedexpansion set APP_CLASS=sample.SampleApp set BASE_DIR=%~d0%~p0 set CP=%BASE_DIR% set LIB=%BASE_DIR%lib for %%j in ("%LIB%\*.jar") do call set CP=!CP!;%%j java -cp %CP% %APP_CLASS% %* endlocal
Linux の場合 (bash)
bash の場合も bat とほぼ同じ様に書けます。
exec_java_sample.sh
#!/bin/sh APP_CLASS=sample.SampleApp BASE_DIR=`dirname $0` CP=$BASE_DIR LIB=$BASE_DIR/lib for jar in $LIB/*.jar; do CP=$CP:$jar; done java -cp $CP $APP_CLASS $*