org.gradle.api.plugins

## Interface JavaApplication

-     @Incubating
      public interface 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.

  Since:
    4.10

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Iterable<String>` | `getApplicationDefaultJvmArgs()` Array of string arguments to pass to the JVM when running the application
    `CopySpec` | `getApplicationDistribution()` The specification of the contents of the distribution.
    `String` | `getApplicationName()` The name of the application.
    `String` | `getExecutableDir()` Directory to place executables in
    `String` | `getMainClassName()` The fully qualified name of the application's main class.
    `void` | `setApplicationDefaultJvmArgs(Iterable<String> applicationDefaultJvmArgs)` Array of string arguments to pass to the JVM when running the application
    `void` | `setApplicationDistribution(CopySpec applicationDistribution)`
    `void` | `setApplicationName(String applicationName)` The name of the application.
    `void` | `setExecutableDir(String executableDir)` Directory to place executables in
    `void` | `setMainClassName(String mainClassName)` The fully qualified name of the application's main class.

- - ### Method Detail

    - #### getApplicationName

          String getApplicationName()

      The name of the application.

    - #### setApplicationName

          void setApplicationName(String applicationName)

      The name of the application.

    - #### getMainClassName

          String getMainClassName()

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

    - #### setMainClassName

          void setMainClassName(String mainClassName)

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

    - #### getApplicationDefaultJvmArgs

          Iterable<String> getApplicationDefaultJvmArgs()

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

    - #### setApplicationDefaultJvmArgs

          void setApplicationDefaultJvmArgs(Iterable<String> applicationDefaultJvmArgs)

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

    - #### getExecutableDir

          String getExecutableDir()

      Directory to place executables in

    - #### setExecutableDir

          void setExecutableDir(String executableDir)

      Directory to place executables in

    - #### getApplicationDistribution

          CopySpec getApplicationDistribution()

      The specification of the contents of the distribution.

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

           apply plugin: '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.

    - #### setApplicationDistribution

          void setApplicationDistribution(CopySpec applicationDistribution)