忍者ブログ

ビーキョウのIT

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

[PR]

×

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


Java起動バッチファイル(bat)

こんちゃ(´・ω・)ノ


今回はWindowsのbatファイルから、
Javaを起動する方法です。

といっても、普通にコマンドラインからJavaを起動しているだけですが。
 


★追記 2013/01/30 改良したサンプル作成しました。
よかったら参考にして下さい。
バッチサンプル
■ディレクトリ構成
sample/sample.bat
sample/conf/logback.xml
sample/conf/sample.properties
sample/log/sample.log
sample/lib/各jarファイルなどのライブラリ

今回はログ出力用のlogbackライブラリを読み込んでいます。
この形は以下のことを考慮している。
・Sample.class実行後、sample.propertiesを読み込む。
・Sample.class内で実行した処理をlogbackを用いてログ出力を行う。


@echo off

echo ==========================
echo 環境変数設定
echo ==========================

REM == バッチファイル起動ディレクトリ取得 ==
SET BAT_PASS=%~dp0

REM == 実行するJavaClass指定 ==
SET EXECUTE_CLASS=jp.co.test.Sample

REM == クラスパス設定 ==
SET CLASS_PASS=.;%BAT_PASS%conf\.
SET CLASS_PASS=%CLASS_PASS%;%BAT_PASS%lib\logback-classic-0.9.18.jar
SET CLASS_PASS=%CLASS_PASS%;%BAT_PASS%lib\logback-core-0.9.18.jar
SET CLASS_PASS=%CLASS_PASS%;%BAT_PASS%lib\slf4j-api-1.5.11.jar

REM == 各設定値をコマンドプロンプトに表示 ==
echo BAT_PASS=%BAT_PASS%
echo EXECUTE_CLASS=%EXECUTE_CLASS%
echo CLASS_PASS=%CLASS_PASS%

echo ==========================
echo Java実行
echo ==========================

echo java -cp %CLASS_PASS% %EXECUTE_CLASS%
java -cp %CLASS_PASS% %EXECUTE_CLASS%

REM 一時停止
pause


■解説
・@echo off
コマンドを表示させないようにする設定

・echo
コマンドプロンプトに表示する。

・REM
コメントです。

・SET
環境変数設定用のコマンド。
環境変数は";"区切り。
(例)SET Path=%Path%;C:\\java\jdk1.6.0_22\bin
※"%~dp0"はバッチが起動したディレクトリ(バッチファイルがあるところ)が設定される。

・CLASSPATH
クラスパスはJavaプログラムでlibとかによく入っている、
いろんなjarを読み込むためのもの。
まぁ他にもいろいろ役割はあるのだが、
とりあえずそんな感じで覚える。

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

java -cp {クラスパス} {実行するクラス}

-cp(-classpath)は、
クラスパスの指定である。
ここに、先ほど設定したクラスパス環境変数を入れてあげる。


■まとめ
最近はWebAPとしてのJavaが多くなってきました。
なかなかbatファイルから実行することは少なくなってきました。

ですが、夜間バッチプログラムなど、
JOB管理ツールからJavaを実行する際は、この知識を使うかもしれないです。

JOB管理ツールがbatファイルを実行し、batファイルはjavaを実行する。
このような流れです。

まぁ結構基本的なことだから、
覚えておいて損はないと・・・思う。

拍手[27回]

PR

COMMENT

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

カレンダー

10 2017/11 12
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

最新コメント

[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]
/ 忍者ブログ