Package org.gradle.jvm.toolchain

## Interface JavaToolchainSpec

- All Superinterfaces:
    `Describable`

      @Incubating
      public interface JavaToolchainSpec
      extends Describable

  Requirements for selecting a Java toolchain.

  A toolchain is a JRE/JDK used by the tasks of a build. Tasks of a build may require one or more of the tools javac, java, or javadoc) of a toolchain. Depending on the needs of a build, only toolchains matching specific characteristics can be used to run a build or a specific task of a build.

  Since:
    6.7

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Property<JvmImplementation>` | `getImplementation()` | The virtual machine implementation of the toolchain.
    `Property<JavaLanguageVersion>` | `getLanguageVersion()` | The exact version of the Java language that the toolchain is required to support.
    `Property<JvmVendorSpec>` | `getVendor()` | The vendor of the toolchain.

    - ### Methods inherited from interface org.gradle.api.Describable

      `getDisplayName`

- - ### Method Detail

    - #### getLanguageVersion

          Property<JavaLanguageVersion> getLanguageVersion()

      The exact version of the Java language that the toolchain is required to support.

    - #### getVendor

          Property<JvmVendorSpec> getVendor()

      The vendor of the toolchain.

      By default, toolchains from any vendor are eligible.

      Since:
        6.8

    - #### getImplementation

          Property<JvmImplementation> getImplementation()

      The virtual machine implementation of the toolchain.

      By default, any implementation (hotspot, j9, ...) is eligible.

      Since:
        6.8