Interface JavaApplication


  • 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 under the name 'application'.

     plugins {
         id 'application'
     }
    
     application {
       mainClass.set("com.foo.bar.FooBar")
     }
     
    Since:
    4.10
    • Method Detail

      • getApplicationName

        java.lang.String getApplicationName()
        The name of the application.
      • setApplicationName

        void setApplicationName​(java.lang.String applicationName)
        The name of the application.
      • getMainModule

        Property<java.lang.String> getMainModule()
        The name of the application's Java module if it should run as a module.
        Since:
        6.4
      • getMainClass

        Property<java.lang.String> getMainClass()
        The fully qualified name of the application's main class.
        Since:
        6.4
      • 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.

         plugins {
             id 'application'
         }
        
         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)