org.apache.tools.ant.taskdefs

Class ExecuteJava

Implemented Interfaces:
Runnable, TimeoutObserver

public class ExecuteJava
extends java.lang.Object
implements Runnable, TimeoutObserver

Execute a Java class.
Since:
Ant 1.2

Method Summary

void
execute(Project project)
Execute the Java class against the specified Ant Project.
int
fork(ProjectComponent pc)
Run the Java command in a separate VM, this does not give you the full flexibility of the Java task, but may be enough for simple needs.
boolean
killedProcess()
Get whether the process was killed.
void
run()
Run this ExecuteJava in a Thread.
void
setClasspath(Path p)
Set the classpath to be used when running the Java class.
void
setJavaCommand(Commandline javaCommand)
Set the Java "command" for this ExecuteJava.
void
setOutput(PrintStream out)
Deprecated. since 1.4.x.
void
setPermissions(Permissions permissions)
Set the permissions for the application run.
void
setSystemProperties(CommandlineJava.SysProperties s)
Set the system properties to use when running the Java class.
void
setTimeout(Long timeout)
Set the timeout for this ExecuteJava.
static void
setupCommandLineForVMS(Execute exe, String[] command)
On VMS platform, we need to create a special java options file containing the arguments and classpath for the java command.
void
timeoutOccured(Watchdog w)
Mark timeout as having occurred.

Method Details

execute

public void execute(Project project)
            throws BuildException
Execute the Java class against the specified Ant Project.
Parameters:
project - the Project to use.
Throws:
BuildException - on error.

fork

public int fork(ProjectComponent pc)
            throws BuildException
Run the Java command in a separate VM, this does not give you the full flexibility of the Java task, but may be enough for simple needs.
Parameters:
pc - the ProjectComponent to use for logging, etc.
Returns:
the exit status of the subprocess.
Throws:
BuildException - on error.
Since:
Ant 1.6.3

killedProcess

public boolean killedProcess()
Get whether the process was killed.
Returns:
true if the process was killed, false otherwise.
Since:
1.19, Ant 1.5

run

public void run()
Run this ExecuteJava in a Thread.
Since:
Ant 1.5

setClasspath

public void setClasspath(Path p)
Set the classpath to be used when running the Java class.
Parameters:
p - an Ant Path object containing the classpath.

setJavaCommand

public void setJavaCommand(Commandline javaCommand)
Set the Java "command" for this ExecuteJava.
Parameters:
javaCommand - the classname and arguments in a Commandline.

setOutput

public void setOutput(PrintStream out)

Deprecated. since 1.4.x. manage output at the task level.

Set the stream to which all output (System.out as well as System.err) will be written.
Parameters:
out - the PrintStream where output should be sent.

setPermissions

public void setPermissions(Permissions permissions)
Set the permissions for the application run.
Parameters:
permissions - the Permissions to use.
Since:
Ant 1.6

setSystemProperties

public void setSystemProperties(CommandlineJava.SysProperties s)
Set the system properties to use when running the Java class.
Parameters:
s - CommandlineJava system properties.

setTimeout

public void setTimeout(Long timeout)
Set the timeout for this ExecuteJava.
Parameters:
timeout - timeout as Long.
Since:
Ant 1.5

setupCommandLineForVMS

public static void setupCommandLineForVMS(Execute exe,
                                          String[] command)
On VMS platform, we need to create a special java options file containing the arguments and classpath for the java command. The special file is supported by the "-V" switch on the VMS JVM.
Parameters:
exe - the Execute instance to alter.
command - the command-line.

timeoutOccured

public void timeoutOccured(Watchdog w)
Mark timeout as having occurred.
Specified by:
timeoutOccured in interface TimeoutObserver
Parameters:
w - the responsible Watchdog.
Since:
Ant 1.5