Freigeben über


JavaToolInstaller@0 – Aufgabe des Java-Toolinstallationsprogramms v0

Verwenden Sie diese Aufgabe, um eine bestimmte Version von Java aus einem vom Benutzer bereitgestellten Azure-Blob oder dem Toolcache zu erhalten und festzulegen JAVA_HOME.

Syntax

# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    #jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory. 
    #azureResourceGroupName: # string. Optional. Use when jdkSourceOption == AzureStorage. Resource Group name. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
    #createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.
# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    #jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
    #createExtractDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Create directory for extracting. Default: true.
# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory' | 'PreInstalled'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    #jdkDestinationDirectory: # string. Required when jdkSourceOption != PreInstalled. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Optional. Use when jdkSourceOption != PreInstalled. Clean destination directory. Default: true.
# Java tool installer v0
# Acquire a specific version of Java from a user-supplied Azure blob or the tool cache and sets JAVA_HOME.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    jdkDestinationDirectory: # string. Required. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Clean destination directory. Default: true.
# Java Tool Installer v0
# Acquires a specific version of Java from a user supplied Azure blob or the tools cache and sets JAVA_HOME. Use this task to change the version of Java used in Java tasks.
- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8' # string. Required. JDK version. Default: 8.
    jdkArchitectureOption: # 'x64' | 'x86'. Required. JDK architecture. 
    jdkSourceOption: # 'AzureStorage' | 'LocalDirectory'. Required. JDK source. 
    #jdkFile: # string. Required when jdkSourceOption == LocalDirectory. JDK file. 
    #azureResourceManagerEndpoint: # string. Required when jdkSourceOption == AzureStorage. Azure subscription. 
    #azureStorageAccountName: # string. Required when jdkSourceOption == AzureStorage. Storage account name. 
    #azureContainerName: # string. Required when jdkSourceOption == AzureStorage. Container name. 
    #azureCommonVirtualFile: # string. Required when jdkSourceOption == AzureStorage. Common virtual path. 
    jdkDestinationDirectory: # string. Required. Destination directory. 
    #cleanDestinationDirectory: true # boolean. Clean destination directory. Default: true.

Eingaben

versionSpec - JDK-Version
string. Erforderlich. Standardwert. 8.

Gibt die JDK-Version an, die im Pfad verfügbar zu machen ist. Verwenden Sie eine ganze Zahlenversion, z. B. 10.


jdkArchitectureOption - JDK-Architektur
string. Erforderlich. Zulässige Werte: x64, x86.

Gibt die Architektur (x86, x64) des JDK an.


jdkSourceOption - JDK-Quelle
string. Erforderlich. Zulässige Werte: AzureStorage (Azure Storage), LocalDirectory (Lokales Verzeichnis), PreInstalled (vorinstalliert).

Gibt die Quelle für das komprimierte JDK an. Die Quelle kann Azure Blob Storage oder ein lokales Verzeichnis im Agent oder Quellrepository sein, oder Sie können die vorinstallierte Version von Java (verfügbar für von Microsoft gehostete Agents) verwenden. Sehen Sie sich das folgende Beispiel zur Verwendung der vorinstallierten Java-Version an.


jdkSourceOption - JDK-Quelle
string. Erforderlich. Zulässige Werte: AzureStorage (Azure Storage), LocalDirectory (Lokales Verzeichnis).

Gibt die Quelle für das komprimierte JDK an. Die Quelle kann Azure Blob Storage oder ein lokales Verzeichnis im Agent oder Quellrepository sein, oder Sie können die vorinstallierte Version von Java (verfügbar für von Microsoft gehostete Agents) verwenden. Sehen Sie sich das folgende Beispiel zur Verwendung der vorinstallierten Java-Version an.


jdkFile - JDK-Datei
string. Erforderlich, wenn jdkSourceOption == LocalDirectory.

Gibt den Pfad zur JDK-Archivdatei an, die das komprimierte JDK enthält. Der Pfad kann sich in Ihrem Quellrepository oder einem lokalen Pfad auf dem Agent befinden. Die Datei sollte ein Archiv (.zip, .tar.gz, .7z) sein, das den Ordner bin auf der Stammebene oder in einem einzelnen Verzeichnis enthält. MacOS unterstützt PKG- und DMG-Dateien, die nur eine PKG-Datei enthalten.


azureResourceManagerEndpoint - Azure-Abonnement
string. Erforderlich, wenn jdkSourceOption == AzureStorage.

Gibt das Azure Resource Manager-Abonnement für das JDK an.


azureStorageAccountName - Name des Speicherkontos
string. Erforderlich, wenn jdkSourceOption == AzureStorage.

Gibt klassische Azure- oder Resource Manager-Speicherkonten an. Wählen Sie den Namen des Speicherkontos aus, in dem sich das JDK befindet.


azureContainerName - Containername
string. Erforderlich, wenn jdkSourceOption == AzureStorage.

Gibt den Namen des Containers in dem Speicherkonto an, in dem sich das JDK befindet.


azureCommonVirtualFile - Allgemeiner virtueller Pfad
string. Erforderlich, wenn jdkSourceOption == AzureStorage.

Gibt den Pfad zum JDK im Azure-Speichercontainer an.


jdkDestinationDirectory - Zielverzeichnis
string. Erforderlich, wenn jdkSourceOption != PreInstalled.

Gibt das Zielverzeichnis an, in dem das JDK extrahiert werden soll. Unter Linux und Windows wird dies als Zielverzeichnis für die JDK-Installation verwendet. Unter macOS wird dieses Verzeichnis als temporärer Ordner zum Extrahieren von DMG-Dateien verwendet, da macOS die Installation von JDK in einem bestimmten Verzeichnis nicht unterstützt.


jdkDestinationDirectory - Zielverzeichnis
string. Erforderlich.

Gibt das Zielverzeichnis an, in dem das JDK extrahiert werden soll. Unter Linux und Windows wird dies als Zielverzeichnis für die JDK-Installation verwendet. Unter macOS wird dieses Verzeichnis als temporärer Ordner zum Extrahieren von DMG-Dateien verwendet, da macOS die Installation von JDK in einem bestimmten Verzeichnis nicht unterstützt.


azureResourceGroupName - Ressourcengruppenname
string. Optional. Verwenden Sie , wenn jdkSourceOption == AzureStorage.

Ressourcengruppenname des Speicherkontos.


cleanDestinationDirectory - Zielverzeichnis bereinigen
boolean. Optional. Verwenden Sie , wenn jdkSourceOption != PreInstalled. Standardwert. true.

Gibt die Option an, das Zielverzeichnis zu sauber, bevor JDK extrahiert wird.


cleanDestinationDirectory - Zielverzeichnis bereinigen
boolean. Standardwert. true.

Gibt die Option an, das Zielverzeichnis zu sauber, bevor JDK extrahiert wird.


createExtractDirectory - Erstellen eines Verzeichnisses zum Extrahieren
boolean. Optional. Verwenden Sie , wenn jdkSourceOption != PreInstalled. Standardwert. true.

Standardmäßig erstellt der Task ein Verzeichnis, das dem JAVA_HOME_8_X64_OpenJDK_zip zum Extrahieren von JDK ähnelt. Mit dieser Option wird die Erstellung dieses Ordners deaktiviert, und wenn auf falsefestgelegt ist, befindet sich JDK stattdessen im Stammverzeichnis von jdkDestinationDirectory .


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Bemerkungen

Verwenden Sie diese Aufgabe, um eine bestimmte Version von Java aus einem vom Benutzer bereitgestellten Azure-Blob, einem Speicherort in der Quelle oder im Agent oder aus dem Toolscache zu erhalten. Die Aufgabe legt auch die Umgebungsvariable JAVA_HOME fest. Verwenden Sie diese Aufgabe, um die Java-Version zu ändern, die in Java-Aufgaben verwendet wird.

Hinweis

Zum Ausführen der Java Tool Installer-Aufgabe unter macOS ist es erforderlich, dass der Benutzer, unter dem der Agent ausgeführt wird, die Berechtigung hat, den Befehl sudo ohne Kennwort auszuführen. Sie können diese Berechtigung mittels der folgenden Schritte aktivieren:

  1. Führen Sie den Befehl sudo visudo aus. Die sudoers-Datei wird zur Bearbeitung geöffnet.
  2. Wechseln Sie zum Ende der Datei, und fügen Sie die folgende Zeile hinzu: user ALL=NOPASSWD: /usr/sbin/installer (Benutzer durch den tatsächlichen Benutzeralias ersetzen).
  3. Speichern und schließen Sie die Datei.

Beispiele

Dies ist ein Beispiel für das Abrufen der Archivdatei aus einem lokalen Verzeichnis unter Linux. Die Datei sollte ein Archiv (.zip, .gz) des JAVA_HOME Verzeichnisses sein, sodass sie die binVerzeichnisse , lib, include, jreusw. enthält.

  - task: JavaToolInstaller@0
    inputs:
      versionSpec: "11"
      jdkArchitectureOption: x64
      jdkSourceOption: LocalDirectory
      jdkFile: "/builds/openjdk-11.0.2_linux-x64_bin.tar.gz"
      jdkDestinationDirectory: "/builds/binaries/externals"
      cleanDestinationDirectory: true

Hier sehen Sie ein Beispiel für das Herunterladen der Archivdatei aus Azure Storage. Die Datei sollte ein Archiv (.zip, .gz) des JAVA_HOME Verzeichnisses sein, sodass sie die binVerzeichnisse , lib, include, jreusw. enthält.

- task: JavaToolInstaller@0
  inputs:
    versionSpec: '6'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: AzureStorage
    azureResourceManagerEndpoint: myARMServiceConnection
    azureStorageAccountName: myAzureStorageAccountName
    azureContainerName: myAzureStorageContainerName
    azureCommonVirtualFile: 'jdk1.6.0_45.zip'
    jdkDestinationDirectory: '$(agent.toolsDirectory)/jdk6'
    cleanDestinationDirectory: false

Hier sehen Sie ein Beispiel für die Verwendung des „vorinstalliert“-Features. Dieses Feature ermöglicht Ihnen die Verwendung von Java-Versionen, die auf dem von Microsoft gehosteten Agent vorinstalliert sind. Verfügbare vorinstallierte Versionen von Java finden Sie in der Spalte "Enthaltene Software" in der Tabelle "gehostete Agents".

- task: JavaToolInstaller@0
  inputs:
    versionSpec: '8'
    jdkArchitectureOption: 'x64'
    jdkSourceOption: 'PreInstalled'

Anforderungen

Anforderung Beschreibung
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Das Ausführen dieser Aufgabe erfüllt die folgenden Anforderungen für alle nachfolgenden Aufgaben im gleichen Auftrag: Java, JDK
Befehlseinschränkungen Dieser Task wird mit den folgenden Befehlseinschränkungen ausgeführt: restricted
Einstellbare Variablen Diese Aufgabe verfügt über die Berechtigung zum Festlegen der folgenden Variablen: PATH, JAVA_HOME*
Agent-Version 2.182.1 oder höher
Aufgabenkategorie Tool
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Das Ausführen dieser Aufgabe erfüllt die folgenden Anforderungen für alle nachfolgenden Aufgaben im gleichen Auftrag: Java, JDK
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version Alle unterstützten Agent-Versionen.
Aufgabenkategorie Tool
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Das Ausführen dieser Aufgabe erfüllt die folgenden Anforderungen für alle nachfolgenden Aufgaben im gleichen Auftrag: Java
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version Alle unterstützten Agent-Versionen.
Aufgabenkategorie Tool

Siehe auch

Eine Erläuterung zu Toolinstallationsprogrammen mit Beispielen finden Sie unter Toolinstallationsprogramme.