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のパラメータになるんですか?
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について詳しく知らないので、本家のサイトをご参照ください。
Yahoo! JAPAN
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を引数として渡す
わかりましたー
ありがとうございます!
なるほど、-D が
System.setProperty(”kaburobo.home”,”***”);なわけですね。
なるほ%はbatファイルにスペース区切りで渡した変数配列が入って渡されるみたいですね。
ありがとうございました。