javaのコンパイルについて。

java -cp .;%KABUROBO_HOME%¥lib¥mysql-connector-java-3.1.8-bin.jar;%KABUROBO_HOME%¥lib¥hsqldb.jar;%KABUROBO_HOME%¥lib¥kaburobo.jar;%KABUROBO_HOME%¥lib¥xalan.jar -Dkaburobo.home=”%KABUROBO_HOME%” jp.kaburobo.driver.KabuRoboDriver %1 %2 %3 %4 %5 %6 %7 %8 %9

これの意味を解説してほしいです。特に一番最後の;以降…。
これは全部xalan.jarのパラメータになるんですか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/01/07 23:56:45
  • 終了:--

回答(2件)

id:oh_tsu No.1

oh_tsu回答回数48ベストアンサー獲得回数02006/01/08 01:21:44

ポイント25pt

http://www.hatena.ne.jp/1136645805#

人力検索はてな - javaのコンパイルについて。 java -cp .;%KABUROBO_HOME%¥lib¥mysql-connector-java-3.1.8-bin.jar;%KABUROBO_HOME%¥lib¥hsqldb.jar;%KABUROBO_HOME%¥lib¥kaburobo.j..

>javaのコンパイルについて。

こちらの「java ...」は「コンパイル」っていうよりは実行かと思われます。


で、それぞれのパラメータを説明すると、


>cp .;%KABUROBO_HOME%¥lib¥mysql-connector-java-3.1.8-bin.jar;%KABUROBO_HOME% ¥lib¥hsqldb.jar;%KABUROBO_HOME%¥lib¥kaburobo.jar;%KABUROBO_HOME%¥lib¥ xalan.jar

javaの実行に「以下ファイル/ファイルパスに含まれるクラスを使いますよ」と指定しています。

・.

・%KABUROBO_HOME%¥lib¥mysql-connector-java-3.1.8-bin.jar

・%KABUROBO_HOME%¥lib¥hsqldb.jar

・%KABUROBO_HOME%¥lib¥kaburobo.jar

・%KABUROBO_HOME%¥lib¥xalan.jar


>-Dkaburobo.home=”%KABUROBO_HOME%”

javaのシステムプロパティに「kaburobo.home=”%KABUROBO_HOME%”」という設定を追加しています。


>jp.kaburobo.driver.KabuRoboDriver

実行するクラスのmainメソッドを指定しています。


>%1 %2 %3 %4 %5 %6 %7 %8 %9

mainメソッドの引数に指定する文字配列を設定します。


http://xml.apache.org/xalan-j/

Xalan-Java Version 2.7.0

xalanについて詳しく知らないので、本家のサイトをご参照ください。

id:kuippa

なるほど、-D が

System.setProperty(”kaburobo.home”,”***”);なわけですね。

なるほ%はbatファイルにスペース区切りで渡した変数配列が入って渡されるみたいですね。

ありがとうございました。

2006/01/08 01:47:11
id:cno No.2

cno回答回数124ベストアンサー獲得回数122006/01/08 01:40:15

ポイント25pt

URLはダミーです。

上から順に回答します。


-cpは実行時に必要なクラス(jarなど)を指定するオプション。

スペース以降に;区切り(Windowsの場合)で複数指定可能です。

%で囲まれた文字列は環境変数

(実際にどこを指しているのかはコマンドプロンプトで

「echo %BABUROBO_HOME%」とすれば表示されます。)


-Dkaburobo.homeはプログラム内で使用する環境変数の値をセットするためをオプションです。

この場合、kaburobo.homeの値を%KABUROBO_HOME%

(実際はWindowsの環境変数なのでどこかのパスをさします)にセットという意味になります。


jp.kaburobo.driver.KabuRoboDriverが実行するのクラス

(public static void main(String[])メソッドを持つクラス)です。


%1~%9はWindowsのバッチファイルで引数を表す環境変数ですので、

おそらくこのコマンドはバッチファイルの中に記載されている内容かと思います。

(たとえばこのコマンドがhoge.bat)に記載されている場合、「hoge.bat a b c」

とすれば%1にa、%2にb、%3にcが代入されます。


以上をまとめると下記のような意味になります。


1)jp.kaburobo.driver.KabuRoboDriverというクラスを実行。


2)実行時に必要なライブラリに以下を指定。

 .(同じフォルダ)

 %KABUROBO_HOME%¥lib¥mysql-connector-java-3.1.8-bin.jar

 %KABUROBO_HOME%¥lib¥hsqldb.jar

 %KABUROBO_HOME%¥lib¥kaburobo.jar

 %KABUROBO_HOME%¥lib¥xalan.jar


3)プログラム内で使用する環境変数kaburobo.homeに%KABUROBO_HOME%を設定


4)jp.kaburobo.driver.KabuRoboDriverのmainメソッドの引数String[]に%1~%9を引数として渡す

id:kuippa

わかりましたー

ありがとうございます!

2006/01/08 01:48:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません