JavaExec

@DisableCachingByDefault(because = "Gradle would require more information to cache this task")
abstract class JavaExec : ConventionTask, JavaExecSpec(source)

Executes a Java application in a child process.

Similar to Exec, but starts a JVM with the given classpath and application class.

plugins {
    id 'java'
}

task runApp(type: JavaExec) {
  classpath = sourceSets.main.runtimeClasspath

  mainClass = 'package.Main'

  // arguments to pass to the application
  args 'appArg1'
}

// Using and creating an Executable Jar
jar {
  manifest {
    attributes('Main-Class': 'package.Main')
  }
}

task runExecutableJar(type: JavaExec) {
  // Executable jars can have only _one_ jar on the classpath.
  classpath = files(tasks.jar)

  // 'main' does not need to be specified

  // arguments to pass to the application
  args 'appArg1'
}

The process can be started in debug mode (see getDebug) in an ad-hoc manner by supplying the `--debug-jvm` switch when invoking the build.

gradle someJavaExecTask --debug-jvm

Also, debug configuration can be explicitly set in debugOptions:

task runApp(type: JavaExec) {
   ...

   debugOptions {
       enabled = true
       port = 5566
       server = true
       suspend = false
   }
}

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
open val conventionMapping: ConventionMapping
Link copied to clipboard
Link copied to clipboard
open var enabled: Boolean
Link copied to clipboard

The extra properties extension in this object's extension container.

Link copied to clipboard
open var group: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val state: TaskStateInternal
Link copied to clipboard
val TASK_ACTION: String = "action"
Link copied to clipboard
val TASK_CONSTRUCTOR_ARGS: String = "constructorArgs"
Link copied to clipboard
val TASK_DEPENDS_ON: String = "dependsOn"
Link copied to clipboard
val TASK_DESCRIPTION: String = "description"
Link copied to clipboard
val TASK_GROUP: String = "group"
Link copied to clipboard
val TASK_NAME: String = "name"
Link copied to clipboard
val TASK_OVERWRITE: String = "overwrite"
Link copied to clipboard
val TASK_TYPE: String = "type"
Link copied to clipboard

Functions

Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun args(args: Iterable<out Any>): JavaExecSpec
open fun args(args: Array<Any>): JavaExec
Link copied to clipboard
open fun bootstrapClasspath(classpath: Array<Any>): JavaExec
Link copied to clipboard
open fun classpath(paths: Array<Any>): JavaExec
Link copied to clipboard
open fun compareTo(otherTask: Task): Int
Link copied to clipboard
open fun configure(closure: Closure): Task
abstract fun configure(cl: Closure): T
Link copied to clipboard
inline fun <T : Any> ExtensionAware.configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

Link copied to clipboard
open fun conventionMapping(property: String, mapping: Callable<out Any>): Task
Link copied to clipboard
open fun copyTo(options: JavaForkOptions): JavaExec
Link copied to clipboard
Link copied to clipboard
open fun dependsOn(paths: Array<Any>): Task
Link copied to clipboard
open fun doFirst(action: Action<in Task>): Task
Link copied to clipboard
open fun doLast(action: Action<in Task>): Task
Link copied to clipboard
open fun doNotTrackState(reasonNotToTrackState: String)
Link copied to clipboard
open fun environment(environmentVariables: Map<String, out Any>): JavaExec
open fun environment(name: String, value: Any): JavaExec
Link copied to clipboard
inline fun JavaExec.environment(vararg environmentVariables: Pair<String, Any?>): JavaExec

Kotlin extension function for org.gradle.api.tasks.JavaExec.environment.

inline fun ProcessForkOptions.environment(vararg environmentVariables: Pair<String, Any?>): ProcessForkOptions

Kotlin extension function for org.gradle.process.ProcessForkOptions.environment.

Link copied to clipboard
open fun exec()
Link copied to clipboard
open fun executable(executable: Any): JavaExec
Link copied to clipboard
open fun finalizedBy(paths: Array<Any>): Task
Link copied to clipboard
open fun getActions(): List<Action<in Task>>
Link copied to clipboard
Link copied to clipboard
open fun getAnt(): AntBuilder
Link copied to clipboard
open fun getArgs(): List<String>
Link copied to clipboard
open fun getAsDynamicObject(): DynamicObject
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDebug(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getDependsOn(): Set<Any>
Link copied to clipboard
Link copied to clipboard
open fun getDidWork(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Internal(value = "covered by getJavaVersion")
@Nullable
open fun getExecutable(): String
Link copied to clipboard
Returns the result for the command run by this task.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getIdentityPath(): Path
Link copied to clipboard
open fun getInputs(): TaskInputsInternal
abstract fun getInputs(): TaskInputs
Link copied to clipboard
Returns the version of the Java executable specified by getJavaLauncher.
Link copied to clipboard
open fun getJvmArgs(): List<String>
Link copied to clipboard
Link copied to clipboard
open fun getLifecycleDependencies(): TaskDependencyInternal
Link copied to clipboard
Link copied to clipboard
open fun getLogger(): Logger
Link copied to clipboard
Link copied to clipboard
abstract fun getMainClass(): Property<String>
Link copied to clipboard
abstract fun getMainModule(): Property<String>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getName(): String
Link copied to clipboard
open fun getOnlyIf(): Spec<in TaskInternal>
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal
abstract fun getOutputs(): TaskOutputs
Link copied to clipboard
open fun getPath(): String
Link copied to clipboard
open fun getProject(): Project
Link copied to clipboard
Link copied to clipboard
open fun getRequiredServices(): TaskRequiredServices
Link copied to clipboard
open fun getSharedResources(): List<ResourceLock>
abstract fun getSharedResources(): List<out ResourceLock>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun getStandardOutputCapture(): StandardOutputCapture
Link copied to clipboard
abstract fun getState(): TaskState
Link copied to clipboard
Link copied to clipboard
open fun getTaskActions(): List<InputChangesAwareTaskAction>
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal
Link copied to clipboard
open fun getTaskIdentity(): TaskIdentity<out Any>
Link copied to clipboard
open fun getTemporaryDir(): File
Link copied to clipboard
open fun getTemporaryDirFactory(): Factory<File>
Link copied to clipboard
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
Link copied to clipboard
Link copied to clipboard
open fun <T : Task?> injectIntoNewInstance(project: ProjectInternal, identity: TaskIdentity<T>, factory: Callable<T>): T
Link copied to clipboard
open fun isEnabled(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun jvmArgs(arguments: Iterable<out Any>): JavaExec
open fun jvmArgs(arguments: Array<Any>): JavaExec
Link copied to clipboard
open fun mustRunAfter(paths: Array<Any>): Task
Link copied to clipboard
Link copied to clipboard
open fun onlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
Link copied to clipboard
open fun property(propertyName: String): Any
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task>>)
Link copied to clipboard
open fun setAllJvmArgs(arguments: Iterable<out Any>)
open fun setAllJvmArgs(arguments: List<String>)
Link copied to clipboard
open fun setArgs(applicationArgs: Iterable<out Any>): JavaExec
open fun setArgs(applicationArgs: List<String>): JavaExec
Link copied to clipboard
open fun setArgsString(args: String): JavaExec
Parses an argument list from args and passes it to setArgs.
Link copied to clipboard
Link copied to clipboard
open fun setClasspath(classpath: FileCollection): JavaExec
Link copied to clipboard
open fun setDebug(enabled: Boolean)
Link copied to clipboard
open fun setDefaultCharacterEncoding(defaultCharacterEncoding: String)
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<out Any>)
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
Link copied to clipboard
open fun setEnableAssertions(enabled: Boolean)
Link copied to clipboard
open fun setEnvironment(environmentVariables: Map<String, out Any>)
Link copied to clipboard
inline fun ProcessForkOptions.setEnvironment(vararg environmentVariables: Pair<String, Any?>)

Kotlin extension function for org.gradle.process.ProcessForkOptions.setEnvironment.

Link copied to clipboard
open fun setErrorOutput(outputStream: OutputStream): JavaExec
Link copied to clipboard
open fun setExecutable(executable: Any)
open fun setExecutable(executable: String)
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
Link copied to clipboard
open fun setIgnoreExitValue(ignoreExitValue: Boolean): JavaExecSpec
Link copied to clipboard
open fun setJvmArgs(arguments: Iterable<out Any>)
open fun setJvmArgs(arguments: List<String>)
Link copied to clipboard
open fun setMain(main: String): JavaExecSpec
Link copied to clipboard
open fun setMaxHeapSize(heapSize: String)
Link copied to clipboard
open fun setMinHeapSize(heapSize: String)
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
open fun setOnlyIf(spec: Spec<in Task>)
Link copied to clipboard
open fun setProperty(name: String, value: Any)
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
Link copied to clipboard
open fun setStandardInput(inputStream: InputStream): JavaExec
Link copied to clipboard
open fun setStandardOutput(outputStream: OutputStream): JavaExec
Link copied to clipboard
open fun setSystemProperties(properties: Map<String, out Any>)
Link copied to clipboard
open fun setWorkingDir(dir: File)
open fun setWorkingDir(dir: Any)
Link copied to clipboard
Link copied to clipboard
open fun systemProperties(properties: Map<String, out Any>): JavaExec
Link copied to clipboard
inline fun JavaExec.systemProperties(vararg properties: Pair<String, Any?>): JavaExec

Kotlin extension function for org.gradle.api.tasks.JavaExec.systemProperties.

inline fun JavaForkOptions.systemProperties(vararg properties: Pair<String, Any?>): JavaForkOptions

Kotlin extension function for org.gradle.process.JavaForkOptions.systemProperties.

Link copied to clipboard
open fun systemProperty(name: String, value: Any): JavaExec
Link copied to clipboard
inline fun <T : Any> ExtensionAware.the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware.the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.

Link copied to clipboard
open fun usesService(service: Provider<out BuildService<out Any>>)
Link copied to clipboard
open fun workingDir(dir: Any): JavaExec