此任務用於在Ant JVM中執行Java程式碼。還可以通過設定fork
屬性true
來使用其他(外部)JVM。
要獲取fork JVM的輸入,可以使用input
和inputstring
屬性。
屬性 | 描述 | 必需 |
---|---|---|
classname |
要執行的Java類 | classname ,jar 和module 三者之一 |
jar |
Jar檔案的位置 | classname ,jar 和module 三者之一 |
module |
要解決的主模組名稱 | classname ,jar 和module 三者之一 |
args |
執行的類的引數 | 否 |
classpath |
要使用的類路徑 | 否 |
classpathref |
用於路徑參照的類路徑 | 否 |
modulepath |
它用於指定模組路徑 | 否 |
modulepathref |
帶路徑參照的模組路徑 | 否 |
fork |
如果啟用,則在另一個JVM中觸發類執行 | 否 |
spawn |
它用於允許啟動一個比Ant更長的進程 | 否 |
jvm |
它是用於執行JVM的命令 | 否 |
jvmargs |
傳遞給JVM的JVM引數 | 否 |
maxmemory |
分配給分叉JVM的最大記憶體量 | 否 |
failonerror |
停止構建過程 | 否 |
resultproperty |
應儲存命令返回碼的屬性的名稱 | 否 |
dir |
要包含在執行中的目錄 | 否 |
output |
輸出檔案名 | 否 |
error |
錯誤檔案名 | 否 |
logError |
要獲取錯誤紀錄檔,請將其儲存到檔案中 | 否 |
append |
是否應附加或覆蓋輸出和錯誤檔案 | 否 |
outputproperty |
應儲存命令輸出的屬性 | 否 |
errorproperty |
應儲存命令標準錯誤的屬性 | 否 |
此範例將執行Java類Hello,參考以下程式碼:
<project name="java-ant project" default="run">
<target name="run">
<java classname = "com.yiibai.Hello">
<classpath path="test"></classpath>
</java>
</target>
</project>
以最大記憶體128 MB執行JAR:
<java jar="dist/test.jar"
fork="true"
failonerror="true"
maxmemory="128m">
<arg value="-h"/>
<classpath>
<pathelement location="dist/test.jar"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>