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