JavaApplication (Gradle API 5.0)
Date: 2018-11-26

Package 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 | Description
    --- | --- | ---
    `java.lang.Iterable<java.lang.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.
    `java.lang.String` | `getApplicationName​()` | The name of the application.
    `java.lang.String` | `getExecutableDir​()` | Directory to place executables in
    `java.lang.String` | `getMainClassName​()` | The fully qualified name of the application's main class.
    `void` | `setApplicationDefaultJvmArgs​(java.lang.Iterable<java.lang.String> applicationDefaultJvmArgs)` | Array of string arguments to pass to the JVM when running the application
    `void` | `setApplicationDistribution​(CopySpec applicationDistribution)` |
    `void` | `setApplicationName​(java.lang.String applicationName)` | The name of the application.
    `void` | `setExecutableDir​(java.lang.String executableDir)` | Directory to place executables in
    `void` | `setMainClassName​(java.lang.String mainClassName)` | The fully qualified name of the application's main class.

- - ### Method Detail

    - #### getApplicationName

          java.lang.String getApplicationName​()

      The name of the application.

    - #### setApplicationName

          void setApplicationName​(java.lang.String applicationName)

      The name of the application.

    - #### getMainClassName

          java.lang.String getMainClassName​()

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

    - #### setMainClassName

          void setMainClassName​(java.lang.String mainClassName)

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

    - #### getApplicationDefaultJvmArgs

          java.lang.Iterable<java.lang.String> getApplicationDefaultJvmArgs​()

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

    - #### setApplicationDefaultJvmArgs

          void setApplicationDefaultJvmArgs​(java.lang.Iterable<java.lang.String> applicationDefaultJvmArgs)

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

    - #### getExecutableDir

          java.lang.String getExecutableDir​()

      Directory to place executables in

    - #### setExecutableDir

          void setExecutableDir​(java.lang.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)