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>