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
-
Field Summary
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAssertions
(Assertions asserts) Add assertions to enable in this program (if fork=true).void
addConfiguredRedirector
(RedirectorElement redirectorElement) Add aRedirectorElement
to this task.void
Add an environment variable.void
Add a system property.void
addSyspropertyset
(PropertySet sysp) Add a set of properties as system properties.protected void
Check configuration.void
Clear out the arguments to this java task.Add a command-line argument.Add a path to the bootclasspath.Add a path to the classpath.Adds a JVM argument.Add a path to the modulepath.Set the permissions for the application run inside the same JVM.Add a path to the upgrademodulepath.protected ExecuteWatchdog
Create the Watchdog to kill a runaway process.void
execute()
Do the execution.int
Do the execution and return a return code.protected int
executeJava
(CommandlineJava commandLine) Execute the specified CommandlineJava.Accessor to the command line.Get the system properties of the command line.protected void
handleErrorFlush
(String output) Handle output sent to System.err and flush the stream.protected void
handleErrorOutput
(String output) Handle output sent to System.err.protected void
handleFlush
(String output) Pass output sent to System.out to specified output file.int
handleInput
(byte[] buffer, int offset, int length) Handle an input request by this task.protected void
handleOutput
(String output) Pass output sent to System.out to specified output file.protected void
maybeSetResultPropertyValue
(int result) Helper method to set result property to the passed in value if appropriate.protected void
Executes the given classname with the given arguments as if it were a command line application.void
setAppend
(boolean append) If true, append output to existing file.void
Deprecated: use nested arg instead.void
Set the Java class to execute.void
setClasspath
(Path s) Set the classpath to be used when running the Java class.void
Set the classpath to use by reference.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.void
Set the working directory of the process.void
setDiscardError
(boolean discard) Whether error output should be discarded.void
setDiscardOutput
(boolean discard) Whether output should be discarded.void
Set the File to which the error stream of the process is redirected.void
setErrorProperty
(String errorProperty) Set the property name whose value should be set to the error of the process.void
setFailonerror
(boolean fail) If true, then fail if the command exits with a returncode other than zero.void
setFork
(boolean s) If true, execute in a new VM.void
Set the input to use for the task.void
setInputString
(String inputString) Set the string to use as input.void
Set the location of the JAR file to execute.void
Set the command used to start the VM (only if forking).void
setJvmargs
(String s) Set the command line arguments for the JVM.void
setJVMVersion
(String value) Set the JVM version.void
setLogError
(boolean logError) Set whether error output of exec is logged.void
setMaxmemory
(String max) Corresponds to -mx or -Xmx depending on VM version.void
Set the Java module to execute.void
setModulepath
(Path mp) Set the modulepath to be used when running the Java class.void
Set the modulepath to use by reference.void
setNewenvironment
(boolean newenv) If true, use a completely new environment.void
Set the File to which the output of the process is redirected.void
setOutputproperty
(String outputProp) Set the property name whose value should be set to the output of the process.void
setResultProperty
(String resultProperty) Set the name of the property in which the return code of the command should be stored.void
setSourceFile
(String sourceFile) Set the Java source-file to execute.void
setSpawn
(boolean spawn) Set whether or not you want the process to be spawned; default is not spawned.void
setTimeout
(Long value) Set the timeout in milliseconds after which the process will be killed.protected void
Set up properties on the redirector that we needed to store locally.Methods inherited from class org.apache.tools.ant.Task
bindToOwner, 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.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Field Details
-
redirector
-
redirectorElement
-
-
Constructor Details
-
Java
public Java()Normal constructor -
Java
-
-
Method Details
-
execute
Do the execution.- Overrides:
execute
in classTask
- Throws:
BuildException
- if failOnError is set to true and the application returns a nonzero result code.
-
executeJava
Do 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.
-
checkConfiguration
Check configuration.- Throws:
BuildException
- if required parameters are missing.
-
executeJava
Execute the specified CommandlineJava.- Parameters:
commandLine
- CommandLineJava instance.- Returns:
- the exit value of the process if forked, 0 otherwise.
-
setSpawn
public 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
-
setClasspath
Set the classpath to be used when running the Java class.- Parameters:
s
- an Ant Path object containing the classpath.
-
createClasspath
-
createBootclasspath
Add a path to the bootclasspath.- Returns:
- created bootclasspath.
- Since:
- Ant 1.6
-
setModulepath
Set the modulepath to be used when running the Java class.- Parameters:
mp
- an Ant Path object containing the modulepath.- Since:
- 1.9.7
-
createModulepath
Add a path to the modulepath.- Returns:
- created modulepath.
- Since:
- 1.9.7
-
setModulepathRef
Set the modulepath to use by reference.- Parameters:
r
- a reference to an existing modulepath.- Since:
- 1.9.7
-
createUpgrademodulepath
Add a path to the upgrademodulepath.- Returns:
- created upgrademodulepath.
- Since:
- 1.9.7
-
createPermissions
Set the permissions for the application run inside the same JVM.- Returns:
- Permissions.
- Since:
- Ant 1.6
-
setClasspathRef
Set the classpath to use by reference.- Parameters:
r
- a reference to an existing classpath.
-
setJar
Set the location of the JAR file to execute.- Parameters:
jarfile
- the jarfile to execute.- Throws:
BuildException
- if there is also aclassname
,module
orsourcefile
attribute specified
-
setClassname
Set the Java class to execute.- Parameters:
s
- the name of the main class.- Throws:
BuildException
- if there is also ajar
orsourcefile
attribute specified
-
setModule
Set the Java module to execute.- Parameters:
module
- the name of the module.- Throws:
BuildException
- if there is also ajar
orsourcefile
attribute specified- Since:
- 1.9.7
-
setSourceFile
Set 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 ajar
,classname
ormodule
attribute specified- Since:
- Ant 1.10.5
-
setArgs
Deprecated: use nested arg instead. Set the command line arguments for the class.- Parameters:
s
- arguments.
-
setCloneVm
public 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
-
createArg
-
setResultProperty
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
-
maybeSetResultPropertyValue
protected void maybeSetResultPropertyValue(int result) Helper method to set result property to the passed in value if appropriate.- Parameters:
result
- the exit code
-
setFork
public void setFork(boolean s) If true, execute in a new VM.- Parameters:
s
- do you want to run Java in a new VM.
-
setJvmargs
Set the command line arguments for the JVM.- Parameters:
s
- jvmargs.
-
createJvmarg
-
setJvm
Set the command used to start the VM (only if forking).- Parameters:
s
- command to start the VM.
-
addSysproperty
Add a system property.- Parameters:
sysp
- system property.
-
addSyspropertyset
Add a set of properties as system properties.- Parameters:
sysp
- set of properties to add.- Since:
- Ant 1.6
-
setFailonerror
public 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.
-
setDir
Set the working directory of the process.- Parameters:
d
- working directory.
-
setOutput
Set the File to which the output of the process is redirected.- Parameters:
out
- the output File.
-
setInput
Set the input to use for the task.- Parameters:
input
- name of the input file.
-
setInputString
Set the string to use as input.- Parameters:
inputString
- the string which is used as the input source.
-
setLogError
public 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.
-
setError
Set the File to which the error stream of the process is redirected.- Parameters:
error
- file getting the error stream.- Since:
- Ant 1.6
-
setOutputproperty
Set the property name whose value should be set to the output of the process.- Parameters:
outputProp
- property name.
-
setErrorProperty
Set the property name whose value should be set to the error of the process.- Parameters:
errorProperty
- property name.- Since:
- Ant 1.6
-
setMaxmemory
Corresponds to -mx or -Xmx depending on VM version.- Parameters:
max
- max memory parameter.
-
setJVMVersion
-
addEnv
Add an environment variable.Will be ignored if we are not forking a new VM.
- Parameters:
var
- new environment variable.- Since:
- Ant 1.5
-
setNewenvironment
public 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
-
setAppend
public void setAppend(boolean append) If true, append output to existing file.- Parameters:
append
- if true, append output to existing file.- Since:
- Ant 1.5
-
setDiscardOutput
public void setDiscardOutput(boolean discard) Whether output should be discarded.Defaults to false.
- Parameters:
discard
- if true output streams are discarded.- Since:
- Ant 1.10.10
- See Also:
-
setDiscardError
public void setDiscardError(boolean discard) Whether error output should be discarded.Defaults to false.
- Parameters:
discard
- if true error streams are discarded.- Since:
- Ant 1.10.10
- See Also:
-
setTimeout
Set the timeout in milliseconds after which the process will be killed.- Parameters:
value
- timeout in milliseconds.- Since:
- Ant 1.5
-
addAssertions
Add assertions to enable in this program (if fork=true).- Parameters:
asserts
- assertion set.- Since:
- Ant 1.6
-
addConfiguredRedirector
Add aRedirectorElement
to this task.- Parameters:
redirectorElement
-RedirectorElement
.
-
handleOutput
Pass output sent to System.out to specified output file.- Overrides:
handleOutput
in classTask
- Parameters:
output
- a string of output on its way to the handlers.- Since:
- Ant 1.5
-
handleInput
Handle an input request by this task.- Overrides:
handleInput
in classTask
- 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:
IOException
- if the data cannot be read.- Since:
- Ant 1.6
-
handleFlush
Pass output sent to System.out to specified output file.- Overrides:
handleFlush
in classTask
- Parameters:
output
- string of output on its way to its handlers.- Since:
- Ant 1.5.2
-
handleErrorOutput
Handle output sent to System.err.- Overrides:
handleErrorOutput
in classTask
- Parameters:
output
- string of stderr.- Since:
- Ant 1.5
-
handleErrorFlush
Handle output sent to System.err and flush the stream.- Overrides:
handleErrorFlush
in classTask
- Parameters:
output
- string of stderr.- Since:
- Ant 1.5.2
-
setupRedirector
protected void setupRedirector()Set up properties on the redirector that we needed to store locally. -
run
Executes 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.
-
clearArgs
public void clearArgs()Clear out the arguments to this java task. -
createWatchdog
Create the Watchdog to kill a runaway process.- Returns:
- new watchdog.
- Throws:
BuildException
- under unknown circumstances.- Since:
- Ant 1.5
-
getCommandLine
Accessor to the command line.- Returns:
- the current command line.
- Since:
- 1.6.3
-
getSysProperties
Get the system properties of the command line.- Returns:
- the current properties of this java invocation.
- Since:
- 1.6.3
-