# Interface JavaExecSpec

All Superinterfaces:
  `BaseExecSpec, JavaForkOptions, ProcessForkOptions`

All Known Implementing Classes:
  `JavaExec, RhinoShellExec`

public interface JavaExecSpec extends JavaForkOptions, BaseExecSpec
Specifies the options for executing a Java application.

## Method Summary

Modifier and Type
Method
Description
`JavaExecSpec`
`args(Iterable<?> args)`
Adds args for the main class to be executed.
`JavaExecSpec`
`args(Object... args)`
Adds args for the main class to be executed.
`JavaExecSpec`
`classpath(Object... paths)`
Adds elements to the classpath for executing the main class.
`List<String>`
`getArgs()`
Returns the arguments passed to the main class to be executed.
`FileCollection`
`getClasspath()`
Returns the classpath for executing the main class.
`String`
`getMain()`
Returns the fully qualified name of the Main class to be executed.
`JavaExecSpec`
`setArgs(Iterable<?> args)`
Sets the args for the main class to be executed.
`JavaExecSpec`
`setArgs(List<String> args)`
Sets the args for the main class to be executed.
`JavaExecSpec`
`setClasspath(FileCollection classpath)`
Sets the classpath for executing the main class.
`JavaExecSpec`
`setMain(String main)`
Sets the fully qualified name of the main class to be executed.

### Methods inherited from interface BaseExecSpec

`getCommandLine, getErrorOutput, getStandardInput, getStandardOutput, isIgnoreExitValue, setErrorOutput, setIgnoreExitValue, setStandardInput, setStandardOutput`

### Methods inherited from interface JavaForkOptions

`bootstrapClasspath, copyTo, getAllJvmArgs, getBootstrapClasspath, getDebug, getDefaultCharacterEncoding, getEnableAssertions, getJvmArgs, getMaxHeapSize, getMinHeapSize, getSystemProperties, jvmArgs, jvmArgs, setAllJvmArgs, setAllJvmArgs, setBootstrapClasspath, setDebug, setDefaultCharacterEncoding, setEnableAssertions, setJvmArgs, setJvmArgs, setMaxHeapSize, setMinHeapSize, setSystemProperties, systemProperties, systemProperty`

### Methods inherited from interface ProcessForkOptions

`copyTo, environment, environment, executable, getEnvironment, getExecutable, getWorkingDir, setEnvironment, setExecutable, setExecutable, setWorkingDir, setWorkingDir, workingDir`

## Method Details

### getMain

@Optional @Input String getMain()
Returns the fully qualified name of the Main class to be executed.

### setMain

JavaExecSpec setMain(String main)
Sets the fully qualified name of the main class to be executed.

Parameters:
  `main` - the fully qualified name of the main class to be executed.
Returns:
  this

### getArgs

@Optional @Input List<String> getArgs()
Returns the arguments passed to the main class to be executed.

### args

JavaExecSpec args(Object... args)
Adds args for the main class to be executed.

Parameters:
  `args` - Args for the main class.
Returns:
  this

### args

JavaExecSpec args(Iterable<?> args)
Adds args for the main class to be executed.

Parameters:
  `args` - Args for the main class.
Returns:
  this

### setArgs

JavaExecSpec setArgs(List<String> args)
Sets the args for the main class to be executed.

Parameters:
  `args` - Args for the main class.
Returns:
  this
Since:
  4.0

### setArgs

JavaExecSpec setArgs(Iterable<?> args)
Sets the args for the main class to be executed.

Parameters:
  `args` - Args for the main class.
Returns:
  this

### classpath

JavaExecSpec classpath(Object... paths)
Adds elements to the classpath for executing the main class.

Parameters:
  `paths` - classpath elements
Returns:
  this

### getClasspath

@Classpath FileCollection getClasspath()
Returns the classpath for executing the main class.

### setClasspath

JavaExecSpec setClasspath(FileCollection classpath)
Sets the classpath for executing the main class.

Parameters:
  `classpath` - the classpath
Returns:
  this