此任务用于在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.zyiz.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>