Java-Entwicklungsumgebung einrichten

In dieser Anleitung wird beschrieben, wie Sie Ihren lokalen Computer für die Java Entwicklung vorbereiten. Dies umfasst die Entwicklung von Java-Anwendungen, die in ausgeführt werden Google Cloud. Folgen Sie dieser Anleitung, um Java und relevante Tools zu installieren.

Ziele

  • JDK (Java Development Kit) installieren.
  • Build-Automatisierungstool installieren.
  • gcloud CLI installieren.
  • (Optional) IDE oder Editor installieren.
  • (Optional) IDE Google Cloud Plug-in installieren.
  • Cloud-Clientbibliotheken für Java installieren.
  • Authentifizierung einrichten.

JDK (Java Development Kit) installieren

Sie können eine beliebige Java-Distribution Ihrer Wahl auswählen, sofern die folgenden Umgebungsvariablen festgelegt sind:

  • JAVA_HOME: Verweist auf das Basisverzeichnis der JDK-Installation.
  • PATH: Enthält $JAVA_HOME/bin.

Eclipse Temurin ist die empfohlene OpenJDK-Distribution (Java Development Kit) für die Verwendung mit Google Cloud. Temurin ist Open-Source-lizenziert, Java SE TCK-zertifiziert und wurde getestet, um eine hohe Leistung und Sicherheit in der Produktion zu gewährleisten.

Die Installationsanleitungen für Temurin sind je nach Betriebssystem unterschiedlich.

Wenn Sie Compute Engine-Boot-Images verwenden, können Sie die folgenden Installationsskripts verwenden.

CentOS/RHEL/Rocky

  1. Bestimmen Sie die Hauptversion von CentOS/RHEL/Rocky Linux:
    eval "$(grep VERSION_ID /etc/os-release)"
    eval "$(grep ^ID= /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. Erstellen Sie die Adoptium-Quell-Repository-Datei `/etc/yum.repos.d/adoptium.repo`:
    sudo tee /etc/yum.repos.d/adoptium.repo << EOM
    [Adoptium]
    name=Adoptium
    baseurl=https://packages.adoptium.net/artifactory/rpm/$ID/$MAJOR_VERSION/\$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public
    EOM
  3. Aktualisieren Sie die Paketlisten:
    sudo yum update -y
  4. Installieren Sie Temurin:
    sudo yum install -y temurin-17-jdk
  5. Prüfen Sie die Installation:
    java -version

Debian/Ubuntu

  1. Installieren Sie den öffentlichen Repo-GPG-Schlüssel. Wenn Sie Ubuntu 16.4 verwenden, übergeben Sie den Schlüssel über gpg --dearmor bevor Sie ihn in einer Datei speichern. Beispiel: sudo wget ... | gpg --dearmor | sudo tee ...
    sudo mkdir -p /etc/apt/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/apt/keyrings/adoptium.asc
  2. Bestimmen Sie den Namen der Linux-Distribution und erstellen Sie die Quelllistendatei, /etc/apt/sources.list.d/adoptium.list:
    eval "$(grep VERSION_CODENAME /etc/os-release)"
    sudo tee /etc/apt/sources.list.d/adoptium.list << EOM
    deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $VERSION_CODENAME main
    EOM
  3. Aktualisieren Sie die Paketlisten:
    sudo apt update -y
  4. Installieren Sie Temurin:
    sudo apt install -y temurin-17-jdk
  5. Prüfen Sie die Installation:
    java -version

SLES

  1. Bestimmen Sie die Hauptversion von SLES:
    eval "$(grep VERSION_ID /etc/os-release)"
    OLD_IFS=$IFS
    IFS='.'
    read -ra split_version <<< "$VERSION_ID"
    IFS=$OLD_IFS
    MAJOR_VERSION=$split_version
  2. Installieren Sie den öffentlichen Repository-GPG-Schlüssel:
    sudo mkdir -p /etc/zypp/keyrings
    sudo wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public |
      sudo tee /etc/zypp/keyrings/adoptium.asc
    sudo rpm --import /etc/zypp/keyrings/adoptium.asc
  3. Bestimmen Sie die Version von SLES und registrieren Sie das Adoptium-Repository:
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. Aktualisieren Sie die Paketlisten:
    sudo zypper update -y
  5. Installieren Sie Temurin:
    sudo zypper install -y temurin-17-jdk
  6. Prüfen Sie die Installation:
    java -version

Windows

Führen Sie zur Installation von Temurin PowerShell Version 3.0 oder höher als ein Administrator mit den folgenden Befehlen aus.

  1. Laden Sie Temurin herunter. Für den Befehl Invoke-WebRequest in der folgenden Anleitung ist PowerShell 3.0 oder höher erforderlich.
    $JdkVersion = 17
    $JdkUrl = "https://api.adoptium.net/v3/binary/latest/$JdkVersion/ga/windows/x64/jdk/hotspot/normal/eclipse?project=jdk"
    $JdkExtractionPath = "C:\temurin-$JdkVersion-jdk"
    $JdkDownload = "$JdkExtractionPath.zip"
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12'
    Invoke-WebRequest -Uri $JdkUrl -OutFile $JdkDownload
    Expand-Archive $JdkDownload -DestinationPath $JdkExtractionPath -Force
  2. Legen Sie die Variablen JAVA_HOME und Path fest:
    pushd $JdkExtractionPath
    $JdkPath = (Get-ChildItem).FullName
    popd
    [System.Environment]::SetEnvironmentVariable('JAVA_HOME', $JdkPath, 'Machine')
    
          
  3. (Optional) Refresh your session's `$env:Path` value. Otherwise, start a new session:
    $MachinePath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
    $UserPath = [System.Environment]::GetEnvironmentVariable('Path', 'User')
    $env:Path = "$MachinePath;$UserPath"
  4. Prüfen Sie die Installation:
    java -version

Build-Automatisierungstool installieren

Apache Maven, Gradle, und SBT sind Paketverwaltungsoptionen, mit denen Java-App-Abhängigkeiten schnell und konsistent plattformübergreifend erstellt werden können.

gcloud CLI installieren

Die gcloud CLI ist eine Reihe von Tools für Google Cloud. Sie enthält gcloud und bq, mit denen Sie über die Befehlszeile auf Compute Engine, Cloud Storage, BigQuery sowie andere Produkte und Dienste zugreifen können. Sie können diese Tools interaktiv oder in automatisierten Skripts ausführen.

(Optional) IDE oder Editor installieren

Beliebte Editoren (in keiner bestimmten Reihenfolge), die zum Entwickeln von Java-Anwendungen verwendet werden, sind unter anderem:

Diese Editoren bieten (teilweise mithilfe von Plug-ins) Funktionen, die von Syntaxhervorhebung, IntelliSense und Codevervollständigung bis hin zu vollständig integrierten Debugging-Funktionen reichen.

(Optional) IDE-Plug-in installieren

Um auf hilfreiche Funktionen in Ihrem Editor zuzugreifen, sehen Sie sich die folgenden Plug-ins an:

Cloud-Clientbibliotheken für Java installieren

Mit den Cloud-Clientbibliotheken für Java können Sie Google Cloud Dienste wie Datastore und Cloud Storage einbinden. Sie können das Paket für eine einzelne API wie BigQuery installieren, wie im folgenden Beispiel gezeigt.

Wenn Sie Maven verwenden, fügen Sie Ihrer Datei pom.xml den folgenden Code hinzu. Weitere Informationen zu BOMs finden Sie unter The Google Cloud Platform Libraries BOM.

<!--  Using libraries-bom to manage versions.
See https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.62.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-bigquery</artifactId>
  </dependency>
</dependencies>

Wenn Sie Gradle verwenden, fügen Sie den Abhängigkeiten Folgendes hinzu:

implementation platform('com.google.cloud:libraries-bom:26.45.0')

implementation 'com.google.cloud:google-cloud-bigquery'

Wenn Sie sbt nutzen, fügen Sie den Abhängigkeiten Folgendes hinzu:

libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.42.2"

Wenn Sie Visual Studio Code oder IntelliJ verwenden, können Sie Ihrem Projekt mithilfe der folgenden IDE-Plug-ins Clientbibliotheken hinzufügen:

Diese Plug-ins bieten zusätzliche Funktionen wie die Schlüsselverwaltung für Dienstkonten. Einzelheiten finden Sie in der Dokumentation der einzelnen Plug-ins.

Authentifizierung einrichten

Um die Clientbibliothek ausführen zu können, müssen Sie zuerst die Authentifizierung einrichten.

Wenn Sie eine lokale Shell verwenden, erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Nutzerkonto:

gcloud auth application-default login

Wenn Sie Cloud Shell verwenden, ist dies nicht erforderlich.

Wenn ein Authentifizierungsfehler zurückgegeben wird und Sie einen externen Identitätsanbieter (IdP) verwenden, prüfen Sie, ob Sie sich mit Ihrer föderierten Identität in der gcloud CLI angemeldet haben.

Weitere Informationen finden Sie unter Für die Verwendung von Clientbibliotheken authentifizieren.

Clientbibliothek verwenden

// Imports the Google Cloud client library
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class QuickstartSample {
  public static void main(String... args) throws Exception {
    // Instantiate a client. If you don't specify credentials when constructing a client, the
    // client library will look for credentials in the environment, such as the
    // GOOGLE_APPLICATION_CREDENTIALS environment variable.
    BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

    // The name for the new dataset
    String datasetName = "my_new_dataset";

    // Prepares a new dataset
    Dataset dataset = null;
    DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build();

    // Creates the dataset
    dataset = bigquery.create(datasetInfo);

    System.out.printf("Dataset %s created.%n", dataset.getDatasetId().getDataset());
  }
}

Endpunkte für die Clientbibliothek konfigurieren

Wenn Sie APIs verwenden, die regionale Endpunkte unterstützen, konfigurieren Sie mit Endpunkten, an welchen Server Anfragen gesendet werden sollen. Mit der Google.Cloud.Dataproc.V1 API können Sie beispielsweise einen Clientendpunkt konfigurieren. Weitere Informationen zu regionalen Endpunkten für Dataproc hier. Ersetzen Sie im folgenden Beispiel MY-PROJECT durch Ihren Projektnamen und us-central1 durch die für Ihre Konfiguration geeignete Region:

ClusterControllerSettings settings =
     ClusterControllerSettings.newBuilder()
        .setEndpoint("us-central1-dataproc.googleapis.com:443")
        .build();
 try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create(settings)) {
   String projectId = "MY-PROJECT";
   String region = "us-central1";
   Cluster cluster = Cluster.newBuilder().build();
 }

Nächste Schritte

(Optional) Maven- oder Gradle-Plug-in für App Engine verwenden

Wenn Sie Dienste in der App Engine-Umgebung (Standardumgebung oder flexible Umgebung) entwickeln, können Sie Plug-ins für sowohl Apache Maven- als auch Gradle-Build-Tools verwenden, die praktische Funktionen zum Entwickeln, Testen und Bereitstellen Ihrer Apps bieten.

Für App Engine-Standardumgebungen

Verwenden Sie das Maven App Engine-Plug-in oder Gradle-Plug-in für App Engine-Standardumgebungen.

Für flexible App Engine-Umgebungen

Verwenden Sie das Maven App Engine-Plug-in oder Gradle-Plug-in für flexible App Engine-Umgebungen.

Weitere Ressourcen