javaプログラムの実行を行うコアタスク。
(org.apache.tools.ant.taskdefs.Java extends
Task)
| 属性 | 説明 | javaコマンド のオプション |
|---|---|---|
| classname="クラス名" | 実行するクラス名。 | クラス名 |
| jar="実行可能jarファイル" | 実行可能jarファイルを指定する。 fork=trueである必要がある。 |
-jar jarファイル名 |
| classpath="クラスパス" | クラスパス | -classpath クラスパス |
| classpathref="pathのID" | クラスパス。pathタスクで指定されたパスのIDを指定する。 | |
| fork="true" | JavaVMを別プロセスで起動するかどうか。 デフォルトはfalse(ただ単に指定されたクラスのmain()を呼び出す)。 |
|
| spawn="false" | JavaVMの実行の終了を待つかどうか。 デフォルトはfalse。 trueにする場合はforkもtrueである必要がある。 |
|
| jvm="java" | javaコマンドの名前。たぶん絶対パスで指定したい場合の為にあるのだろう。 デフォルトは「java」。 |
|
| maxmemory="1024m" | 使用するメモリーの最大サイズ。 forkがtrueでないと無効。 |
-Xmxサイズ |
| failonerror="false" | リターンコードが0以外の場合にAntがBuildExceptionを出すかどうか。 デフォルトはfalse。 |
|
| resultproperty="プロパティー名" | リターンコードを格納するプロパティーを指定する。 failonerrorがtrueだとBuildExceptionが発生するのでプロパティーはセットされない。 |
|
| dir="ディレクトリー" | JavaVMで実行する際のカレントディレクトリー。 forkがtrueでないと無効。 |
|
| output="ファイル名" | 標準出力の出力先となるファイル。 errorとerrorpropertyが指定されていない場合、標準エラーもここに出力される。 |
> ファイル |
| error="ファイル名" | 標準エラーの出力先となるファイル。 | 2> ファイル |
| logError="false" | 標準エラーの内容をAntのログにも出力するかどうか。 デフォルトはfalse。 |
|
| append="false" | ouputとerrorの出力を追加にするかどうか。 | |
| outputproperty="プロパティー名" | 標準出力の出力先となるプロパティー。 errorとerrorpropertyが指定されていない場合、標準エラーもここに出力される。 fork=trueでないと効かない? |
|
| errorproperty="プロパティー名" | 標準エラーの出力先となるプロパティー。 fork=trueでないと効かない? |
|
| input="ファイル名" | 標準入力の入力元となるファイル。 inputとinputstringはどちらかのみが指定可能。 |
< ファイル |
| inputstring="文字列" | 標準入力へ渡される文字列。 inputとinputstringはどちらかのみが指定可能。 |
|
| newenvironment="false" | trueにすると、環境変数が指定された際に(現在の環境変数の内容を引き継がず)新しい環境変数となる。 forkがtrueでないと無効。 |
|
| timeout="タイムアウト時間" | 指定した時間が過ぎても実行が終了しない場合にBuildExceptionが発生する。 単位:ミリ秒。 |
| タグ(使用例) | 説明 | javaのオプション |
|---|---|---|
<arg value="引数" /> |
実行するクラスの引数の指定。main(String[] args)のargs。 |
|
<jvmarg value="-Xms256m"
/> |
VM引数の指定。 | |
<classpath refid="classpath" /> |
クラスパスの指定。 | -classpath クラスパス |
<sysproperty key="システムプロパティー名"
value="値" /> |
システムプロパティーの指定。 | -Dシステムプロパティー名=値 |
<env key="環境変数名"
value="値" /> |
環境変数の指定。 |
arg・jvmarg・sysproperty・envといったタグでは、値の指定方法がいくつかある。
| 属性 | 説明 |
|---|---|
| value | 値を文字列で指定する。 |
| file | ファイルの絶対パスの文字列となる。 |
| path | 複数のパスを区切り文字で区切った文字列となる。 パス区切り文字は自動的に実行OS用に変換される。 |
| pathref | 他で指定されたパスを参照するということ以外はpathと同様。 |
build.xml:
<?xml version="1.0" encoding="Shift_JIS"?> <project name="execute_java" default="execute" basedir=".."> <target name="execute"> <java classname="jp.hishidama.sample.Simple" resultproperty="prop.result"> <classpath path="classes" /> <arg value="zzz" /> </java> <echoproperties prefix="prop." /> </target> </project>