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>