JavaApplication

API Documentation:JavaApplication

Configuration for a Java application, defining how to assemble the application.

An instance of this type is added as a project extension by the Java application plugin under the name 'application'.

plugins {
    id 'application'
}

application {
  mainClass.set("com.foo.bar.FooBar")
}

Properties

PropertyDescription
applicationDefaultJvmArgs

Array of string arguments to pass to the JVM when running the application

applicationDistribution

The specification of the contents of the distribution.

applicationName

The name of the application.

executableDir

Directory to place executables in

mainClass

The fully qualified name of the application's main class.

mainModule
Incubating

The name of the application's Java module if it should run as a module.

Methods

No methods

Script blocks

No script blocks

Property details

Iterable<String> applicationDefaultJvmArgs

Array of string arguments to pass to the JVM when running the application

Default value:
[]

CopySpec applicationDistribution

The specification of the contents of the distribution.

Use this CopySpec to include extra files/resource in the application distribution.

plugins {
    id 'application'
}

applicationDistribution.from("some/dir") {
  include "*.txt"
}

Note that the application plugin pre configures this spec to; include the contents of "src/dist", copy the application start scripts into the "bin" directory, and copy the built jar and its dependencies into the "lib" directory.

Default value:
A copy spec that includes all of the contents of src/dist, copies the start scripts into bin, and copies the built jar and all dependencies into lib

String applicationName

The name of the application.

Default value:
project.name

String executableDir

Directory to place executables in

Default value:
"bin"

Property<String> mainClass

The fully qualified name of the application's main class.

Default value:
null

Property<String> mainModule

Note: This property is incubating and may change in a future version of Gradle.

The name of the application's Java module if it should run as a module.

Default value:
null