Package org.apache.tools.ant.taskdefs

# Class ExecuteJava

java.lang.Object
org.apache.tools.ant.taskdefs.ExecuteJava

All Implemented Interfaces:
  `Runnable`, `TimeoutObserver`

public class ExecuteJava extends Object implements Runnable, TimeoutObserver
Execute a Java class.

Since:
  Ant 1.2

## Constructor Summary

Constructors
Constructor
Description
`ExecuteJava()`

## Method Summary

Modifier and Type
Method
Description
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ExecuteJava

public ExecuteJava()

## Method Details

### setJavaCommand

public void setJavaCommand(Commandline javaCommand)
Set the Java "command" for this ExecuteJava.

Parameters:
  `javaCommand` - the classname and arguments in a Commandline.

### 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.

### setSystemProperties

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

Parameters:
  `s` - CommandlineJava system properties.

### setPermissions

public void setPermissions(Permissions permissions)
Set the permissions for the application run.

Parameters:
  `permissions` - the Permissions to use.
Since:
  Ant 1.6

### setOutput

@Deprecated 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.

### setTimeout

public void setTimeout(Long timeout)
Set the timeout for this ExecuteJava.

Parameters:
  `timeout` - timeout as Long.
Since:
  Ant 1.5

### 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.

### run

public void run()
Run this ExecuteJava in a Thread.

Specified by:
  `run` in interface `Runnable`
Since:
  Ant 1.5

### 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

### 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

### 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

### 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.