Package org.apache.tools.ant.taskdefs
Class Java
- java.lang.Object
- 
- org.apache.tools.ant.ProjectComponent
- 
- org.apache.tools.ant.Task
- 
- org.apache.tools.ant.taskdefs.Java
 
 
 
- 
- All Implemented Interfaces:
- java.lang.Cloneable
 
 public class Java extends Task Launcher for Java applications. Allows use of the same JVM for the called application thus resulting in much faster operation.- Since:
- Ant 1.1
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected Redirectorredirectorprotected RedirectorElementredirectorElement- 
Fields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
 
- 
 - 
Method SummaryModifier and Type Method Description voidaddAssertions(Assertions asserts)Add assertions to enable in this program (if fork=true).voidaddConfiguredRedirector(RedirectorElement redirectorElement)Add aRedirectorElementto this task.voidaddEnv(Environment.Variable var)Add an environment variable.voidaddSysproperty(Environment.Variable sysp)Add a system property.voidaddSyspropertyset(PropertySet sysp)Add a set of properties as system properties.protected voidcheckConfiguration()Check configuration.voidclearArgs()Clear out the arguments to this java task.Commandline.ArgumentcreateArg()Add a command-line argument.PathcreateBootclasspath()Add a path to the bootclasspath.PathcreateClasspath()Add a path to the classpath.Commandline.ArgumentcreateJvmarg()Adds a JVM argument.PathcreateModulepath()Add a path to the modulepath.PermissionscreatePermissions()Set the permissions for the application run inside the same JVM.PathcreateUpgrademodulepath()Add a path to the upgrademodulepath.protected ExecuteWatchdogcreateWatchdog()Create the Watchdog to kill a runaway process.voidexecute()Do the execution.intexecuteJava()Do the execution and return a return code.protected intexecuteJava(CommandlineJava commandLine)Execute the specified CommandlineJava.CommandlineJavagetCommandLine()Accessor to the command line.CommandlineJava.SysPropertiesgetSysProperties()Get the system properties of the command line.protected voidhandleErrorFlush(java.lang.String output)Handle output sent to System.err and flush the stream.protected voidhandleErrorOutput(java.lang.String output)Handle output sent to System.err.protected voidhandleFlush(java.lang.String output)Pass output sent to System.out to specified output file.inthandleInput(byte[] buffer, int offset, int length)Handle an input request by this task.protected voidhandleOutput(java.lang.String output)Pass output sent to System.out to specified output file.protected voidmaybeSetResultPropertyValue(int result)Helper method to set result property to the passed in value if appropriate.protected voidrun(java.lang.String classname, java.util.Vector<java.lang.String> args)Executes the given classname with the given arguments as if it were a command line application.voidsetAppend(boolean append)If true, append output to existing file.voidsetArgs(java.lang.String s)Deprecated: use nested arg instead.voidsetClassname(java.lang.String s)Set the Java class to execute.voidsetClasspath(Path s)Set the classpath to be used when running the Java class.voidsetClasspathRef(Reference r)Set the classpath to use by reference.voidsetCloneVm(boolean cloneVm)If set, system properties will be copied to the cloned VM--as well as the bootclasspath unless you have explicitly specified a bootclasspath.voidsetDir(java.io.File d)Set the working directory of the process.voidsetError(java.io.File error)Set the File to which the error stream of the process is redirected.voidsetErrorProperty(java.lang.String errorProperty)Set the property name whose value should be set to the error of the process.voidsetFailonerror(boolean fail)If true, then fail if the command exits with a returncode other than zero.voidsetFork(boolean s)If true, execute in a new VM.voidsetInput(java.io.File input)Set the input to use for the task.voidsetInputString(java.lang.String inputString)Set the string to use as input.voidsetJar(java.io.File jarfile)Set the location of the JAR file to execute.voidsetJvm(java.lang.String s)Set the command used to start the VM (only if forking).voidsetJvmargs(java.lang.String s)Set the command line arguments for the JVM.voidsetJVMVersion(java.lang.String value)Set the JVM version.voidsetLogError(boolean logError)Set whether error output of exec is logged.voidsetMaxmemory(java.lang.String max)Corresponds to -mx or -Xmx depending on VM version.voidsetModule(java.lang.String module)Set the Java module to execute.voidsetModulepath(Path mp)Set the modulepath to be used when running the Java class.voidsetModulepathRef(Reference r)Set the modulepath to use by reference.voidsetNewenvironment(boolean newenv)If true, use a completely new environment.voidsetOutput(java.io.File out)Set the File to which the output of the process is redirected.voidsetOutputproperty(java.lang.String outputProp)Set the property name whose value should be set to the output of the process.voidsetResultProperty(java.lang.String resultProperty)Set the name of the property in which the return code of the command should be stored.voidsetSourceFile(java.lang.String sourceFile)Set the Java source-file to execute.voidsetSpawn(boolean spawn)Set whether or not you want the process to be spawned; default is not spawned.voidsetTimeout(java.lang.Long value)Set the timeout in milliseconds after which the process will be killed.protected voidsetupRedirector()Set up properties on the redirector that we needed to store locally.- 
Methods inherited from class org.apache.tools.ant.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 - 
Methods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
- 
 
- 
- 
- 
Field Detail- 
redirectorprotected Redirector redirector 
 - 
redirectorElementprotected RedirectorElement redirectorElement 
 
- 
 - 
Constructor Detail- 
Javapublic Java() Normal constructor
 - 
Javapublic Java(Task owner) create a bound task- Parameters:
- owner- owner
 
 
- 
 - 
Method Detail- 
executepublic void execute() throws BuildExceptionDo the execution.- Overrides:
- executein class- Task
- Throws:
- BuildException- if failOnError is set to true and the application returns a nonzero result code.
 
 - 
executeJavapublic int executeJava() throws BuildExceptionDo the execution and return a return code.- Returns:
- the return code from the execute java class if it was executed in a separate VM (fork = "yes") or a security manager was installed that prohibits ExitVM (default).
- Throws:
- BuildException- if required parameters are missing.
 
 - 
checkConfigurationprotected void checkConfiguration() throws BuildExceptionCheck configuration.- Throws:
- BuildException- if required parameters are missing.
 
 - 
executeJavaprotected int executeJava(CommandlineJava commandLine) Execute the specified CommandlineJava.- Parameters:
- commandLine- CommandLineJava instance.
- Returns:
- the exit value of the process if forked, 0 otherwise.
 
 - 
setSpawnpublic void setSpawn(boolean spawn) Set whether or not you want the process to be spawned; default is not spawned.- Parameters:
- spawn- if true you do not want Ant to wait for the end of the process.
- Since:
- Ant 1.6
 
 - 
setClasspathpublic void setClasspath(Path s) Set the classpath to be used when running the Java class.- Parameters:
- s- an Ant Path object containing the classpath.
 
 - 
createClasspathpublic Path createClasspath() Add a path to the classpath.- Returns:
- created classpath.
 
 - 
createBootclasspathpublic Path createBootclasspath() Add a path to the bootclasspath.- Returns:
- created bootclasspath.
- Since:
- Ant 1.6
 
 - 
setModulepathpublic void setModulepath(Path mp) Set the modulepath to be used when running the Java class.- Parameters:
- mp- an Ant Path object containing the modulepath.
- Since:
- 1.9.7
 
 - 
createModulepathpublic Path createModulepath() Add a path to the modulepath.- Returns:
- created modulepath.
- Since:
- 1.9.7
 
 - 
setModulepathRefpublic void setModulepathRef(Reference r) Set the modulepath to use by reference.- Parameters:
- r- a reference to an existing modulepath.
- Since:
- 1.9.7
 
 - 
createUpgrademodulepathpublic Path createUpgrademodulepath() Add a path to the upgrademodulepath.- Returns:
- created upgrademodulepath.
- Since:
- 1.9.7
 
 - 
createPermissionspublic Permissions createPermissions() Set the permissions for the application run inside the same JVM.- Returns:
- Permissions.
- Since:
- Ant 1.6
 
 - 
setClasspathRefpublic void setClasspathRef(Reference r) Set the classpath to use by reference.- Parameters:
- r- a reference to an existing classpath.
 
 - 
setJarpublic void setJar(java.io.File jarfile) throws BuildExceptionSet the location of the JAR file to execute.- Parameters:
- jarfile- the jarfile to execute.
- Throws:
- BuildException- if there is also a- classname,- moduleor- sourcefileattribute specified
 
 - 
setClassnamepublic void setClassname(java.lang.String s) throws BuildExceptionSet the Java class to execute.- Parameters:
- s- the name of the main class.
- Throws:
- BuildException- if there is also a- jaror- sourcefileattribute specified
 
 - 
setModulepublic void setModule(java.lang.String module) throws BuildExceptionSet the Java module to execute.- Parameters:
- module- the name of the module.
- Throws:
- BuildException- if there is also a- jaror- sourcefileattribute specified
- Since:
- 1.9.7
 
 - 
setSourceFilepublic void setSourceFile(java.lang.String sourceFile) throws BuildExceptionSet the Java source-file to execute. Support for single file source program execution, in Java, is only available since Java 11.- Parameters:
- sourceFile- The path to the source file
- Throws:
- BuildException- if there is also a- jar,- classnameor- moduleattribute specified
- Since:
- Ant 1.10.5
 
 - 
setArgspublic void setArgs(java.lang.String s) Deprecated: use nested arg instead. Set the command line arguments for the class.- Parameters:
- s- arguments.
 
 - 
setCloneVmpublic void setCloneVm(boolean cloneVm) If set, system properties will be copied to the cloned VM--as well as the bootclasspath unless you have explicitly specified a bootclasspath.Doesn't have any effect unless fork is true. - Parameters:
- cloneVm- if true copy system properties.
- Since:
- Ant 1.7
 
 - 
createArgpublic Commandline.Argument createArg() Add a command-line argument.- Returns:
- created argument.
 
 - 
setResultPropertypublic void setResultProperty(java.lang.String resultProperty) Set the name of the property in which the return code of the command should be stored. Only of interest if failonerror=false.- Parameters:
- resultProperty- name of property.
- Since:
- Ant 1.6
 
 - 
maybeSetResultPropertyValueprotected void maybeSetResultPropertyValue(int result) Helper method to set result property to the passed in value if appropriate.- Parameters:
- result- the exit code
 
 - 
setForkpublic void setFork(boolean s) If true, execute in a new VM.- Parameters:
- s- do you want to run Java in a new VM.
 
 - 
setJvmargspublic void setJvmargs(java.lang.String s) Set the command line arguments for the JVM.- Parameters:
- s- jvmargs.
 
 - 
createJvmargpublic Commandline.Argument createJvmarg() Adds a JVM argument.- Returns:
- JVM argument created.
 
 - 
setJvmpublic void setJvm(java.lang.String s) Set the command used to start the VM (only if forking).- Parameters:
- s- command to start the VM.
 
 - 
addSyspropertypublic void addSysproperty(Environment.Variable sysp) Add a system property.- Parameters:
- sysp- system property.
 
 - 
addSyspropertysetpublic void addSyspropertyset(PropertySet sysp) Add a set of properties as system properties.- Parameters:
- sysp- set of properties to add.
- Since:
- Ant 1.6
 
 - 
setFailonerrorpublic void setFailonerror(boolean fail) If true, then fail if the command exits with a returncode other than zero.- Parameters:
- fail- if true fail the build when the command exits with a nonzero returncode.
 
 - 
setDirpublic void setDir(java.io.File d) Set the working directory of the process.- Parameters:
- d- working directory.
 
 - 
setOutputpublic void setOutput(java.io.File out) Set the File to which the output of the process is redirected.- Parameters:
- out- the output File.
 
 - 
setInputpublic void setInput(java.io.File input) Set the input to use for the task.- Parameters:
- input- name of the input file.
 
 - 
setInputStringpublic void setInputString(java.lang.String inputString) Set the string to use as input.- Parameters:
- inputString- the string which is used as the input source.
 
 - 
setLogErrorpublic void setLogError(boolean logError) Set whether error output of exec is logged. This is only useful when output is being redirected and error output is desired in the Ant log.- Parameters:
- logError- get in the ant log the messages coming from stderr in the case that fork = true.
 
 - 
setErrorpublic void setError(java.io.File error) Set the File to which the error stream of the process is redirected.- Parameters:
- error- file getting the error stream.
- Since:
- Ant 1.6
 
 - 
setOutputpropertypublic void setOutputproperty(java.lang.String outputProp) Set the property name whose value should be set to the output of the process.- Parameters:
- outputProp- property name.
 
 - 
setErrorPropertypublic void setErrorProperty(java.lang.String errorProperty) Set the property name whose value should be set to the error of the process.- Parameters:
- errorProperty- property name.
- Since:
- Ant 1.6
 
 - 
setMaxmemorypublic void setMaxmemory(java.lang.String max) Corresponds to -mx or -Xmx depending on VM version.- Parameters:
- max- max memory parameter.
 
 - 
setJVMVersionpublic void setJVMVersion(java.lang.String value) Set the JVM version.- Parameters:
- value- JVM version.
 
 - 
addEnvpublic void addEnv(Environment.Variable var) Add an environment variable.Will be ignored if we are not forking a new VM. - Parameters:
- var- new environment variable.
- Since:
- Ant 1.5
 
 - 
setNewenvironmentpublic void setNewenvironment(boolean newenv) If true, use a completely new environment.Will be ignored if we are not forking a new VM. - Parameters:
- newenv- if true, use a completely new environment.
- Since:
- Ant 1.5
 
 - 
setAppendpublic void setAppend(boolean append) If true, append output to existing file.- Parameters:
- append- if true, append output to existing file.
- Since:
- Ant 1.5
 
 - 
setTimeoutpublic void setTimeout(java.lang.Long value) Set the timeout in milliseconds after which the process will be killed.- Parameters:
- value- timeout in milliseconds.
- Since:
- Ant 1.5
 
 - 
addAssertionspublic void addAssertions(Assertions asserts) Add assertions to enable in this program (if fork=true).- Parameters:
- asserts- assertion set.
- Since:
- Ant 1.6
 
 - 
addConfiguredRedirectorpublic void addConfiguredRedirector(RedirectorElement redirectorElement) Add aRedirectorElementto this task.- Parameters:
- redirectorElement-- RedirectorElement.
 
 - 
handleOutputprotected void handleOutput(java.lang.String output) Pass output sent to System.out to specified output file.- Overrides:
- handleOutputin class- Task
- Parameters:
- output- a string of output on its way to the handlers.
- Since:
- Ant 1.5
 
 - 
handleInputpublic int handleInput(byte[] buffer, int offset, int length) throws java.io.IOExceptionHandle an input request by this task.- Overrides:
- handleInputin class- Task
- Parameters:
- buffer- the buffer into which data is to be read.
- offset- the offset into the buffer at which data is stored.
- length- the amount of data to read.
- Returns:
- the number of bytes read.
- Throws:
- java.io.IOException- if the data cannot be read.
- Since:
- Ant 1.6
 
 - 
handleFlushprotected void handleFlush(java.lang.String output) Pass output sent to System.out to specified output file.- Overrides:
- handleFlushin class- Task
- Parameters:
- output- string of output on its way to its handlers.
- Since:
- Ant 1.5.2
 
 - 
handleErrorOutputprotected void handleErrorOutput(java.lang.String output) Handle output sent to System.err.- Overrides:
- handleErrorOutputin class- Task
- Parameters:
- output- string of stderr.
- Since:
- Ant 1.5
 
 - 
handleErrorFlushprotected void handleErrorFlush(java.lang.String output) Handle output sent to System.err and flush the stream.- Overrides:
- handleErrorFlushin class- Task
- Parameters:
- output- string of stderr.
- Since:
- Ant 1.5.2
 
 - 
setupRedirectorprotected void setupRedirector() Set up properties on the redirector that we needed to store locally.
 - 
runprotected void run(java.lang.String classname, java.util.Vector<java.lang.String> args) throws BuildExceptionExecutes the given classname with the given arguments as if it were a command line application.- Parameters:
- classname- the name of the class to run.
- args- arguments for the class.
- Throws:
- BuildException- in case of IOException in the execution.
 
 - 
clearArgspublic void clearArgs() Clear out the arguments to this java task.
 - 
createWatchdogprotected ExecuteWatchdog createWatchdog() throws BuildException Create the Watchdog to kill a runaway process.- Returns:
- new watchdog.
- Throws:
- BuildException- under unknown circumstances.
- Since:
- Ant 1.5
 
 - 
getCommandLinepublic CommandlineJava getCommandLine() Accessor to the command line.- Returns:
- the current command line.
- Since:
- 1.6.3
 
 - 
getSysPropertiespublic CommandlineJava.SysProperties getSysProperties() Get the system properties of the command line.- Returns:
- the current properties of this java invocation.
- Since:
- 1.6.3
 
 
- 
 
-