忍者ブログ

ビーキョウのIT

このブログは99%ののほほんと1%のお菓子でできています。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Java起動シェルスクリプトファイル(sh)

こんちゃ(´・ω・)ノ

シェルスクリプトファイル(sh)から
javaを起動する方法を記述しておく。

★サンプル
バッチサンプル



■ディレクトリ構成
batch
├bin 実行フォルダ
│ ├sample.bat
│ └sample.sh

├conf
│ ├logback.xml ログ設定
│ ├batch.conf Linux用設定ファイル
│ └batch.ini Windows用設定ファイル

├lib ライブラリ
│ ├logback-classic-0.9.18.jar
│ ├logback-core-0.9.18.jar
│ ├slf4j-api-1.5.11.jar
│ └sample.jar

├log ログフォルダ
│ └batch.log

└src/jp/co/test/Sample.java


■シェルスクリプトファイル
#!/bin/sh

echo "########################################"
echo "# 実行プログラム : Sample.class"
echo "# 実行プログラム名 : サンプルクラス"
echo "# 処理内容 : 引数がなければ正常終了"
echo "# 引数があれば異常終了"
echo "# 引数 : パラメータ1"
echo "# 返却値 : 0 [正常終了]"
echo "# : 1 [異常終了]"
echo "########################################"

echo "###########################"
echo "# 環境変数設定"
echo "###########################"


# batch.confファイル読み込み
# BATCH_LIBRARY_PATH : バッチ用ライブラリのパス
# BATCH_CONFIG_PATH : バッチ用設定ファイルのパス
cd `dirname $0`
. ../conf/batch.conf

# クラスパス設定
CLASS_PASS=".:${BATCH_LIBRARY_PATH}/*:${BATCH_CONFIG_PATH}/*"

# 実行するJavaClass指定
export EXECUTE_CLASS="jp.co.test.Sample"

# 各設定値をコマンドプロンプトに表示
echo "${EXECUTE_CLASS}"
echo "${CLASS_PASS}"

echo "###########################"
echo "# Java実行"
echo "###########################"

echo "java -cp ${CLASS_PASS} ${EXECUTE_CLASS} $1"
java -cp "${CLASS_PASS}" "${EXECUTE_CLASS}" $1
RESULT=$?

echo "###########################"
echo "# 返却値"
echo "###########################"

if [ ${RESULT} = 1 ]; then
echo "異常終了" ${RESULT}
exit 1
fi

echo "正常終了" ${RESULT}
exit 0



■解説
基本的にはコメント書いてあるとおりです。

(1)設定ファイル読み込み
batch.confファイルを読み込んで、
設定ファイルとライブラリのディレクトリを取得

(2)CLASS_PASSを設定
クラスパスはJavaプログラムでlibとかによく入っている、
いろんなjarを読み込むためのもの。
まぁ他にもいろいろ役割はあるのだが、
とりあえずそんな感じで覚える。
※java6から「*」での指定が可能になった。

(3)実行クラス指定
シェルから実際に実行するクラスを指定

(4)Java実行コマンド
環境変数でjavaが設定されていて使えること。
直接指定してもいいのだが。
設定されているかどうかは、
コマンドプロンプトから
java -versionコマンドを実行する。
バージョンが表示されれば、設定はされている。

(5)返却値取得
javaの終了時に「System.exit(数値)」で、
バッチやシェルに返却値を返すことが出来る。

拍手[18回]

PR

COMMENT

Name
Title
Mail
URL
Color
Emoji Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Comment
Pass   コメント編集用パスワード
 管理人のみ閲覧

カレンダー

09 2018/10 11
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

最新コメント

[11/13 NEX-C3]
[01/24 R]
[07/30 ビーキョウ]
[07/25 unknown]
[06/24 ブログランキング]

最新トラックバック

バーコード

広告

カウンター

ブログ内検索

プロフィール


HN:ビーキョウ
職業:SI屋(PG、SE)
<自己紹介>
ちゃお(´・ω・)ノ
ビーキョウです。
どんどんスキルアップして、 その中で学んだことを忘れないようにメモ代わり的な 感じで記事を書いていこうという考えです。

なので、適当な部分が多々あるとは思いますが、 なにとぞよろしくお願いします
(´ ▽`)

バナーエリア

Copyright ©  -- ビーキョウのIT --  All Rights Reserved
Designed by CriCri / Photo by Geralt / Powered by [PR]
/ 忍者ブログ