Configura un ambiente di sviluppo Java

Questo tutorial mostra come preparare la tua macchina locale per lo sviluppo con Java, incluso lo sviluppo di app Java eseguite suGoogle Cloud. Segui questi passaggi per installare Java e gli strumenti pertinenti.

Obiettivi

  • Installa un JDK (Java Development Kit).
  • Installa uno strumento di automazione della build.
  • Installa gcloud CLI.
  • (Facoltativo) Installa un IDE o un editor.
  • (Facoltativo) Installa il plug-in Google Cloud IDE.
  • Installa le librerie client di Cloud per Java.
  • Configurare l'autenticazione.

Installa un JDK (Java Development Kit)

Puoi scegliere qualsiasi distribuzione Java di tua scelta assicurandoti che siano impostate le seguenti variabili di ambiente:

  • JAVA_HOME: rimanda alla base dell'installazione del JDK.
  • PATH: include $JAVA_HOME/bin.

Eclipse Temurin è la distribuzione OpenJDK (Java Development Kit) consigliata per l'utilizzo con Google Cloud. Temurin ha una licenza open source, è certificato Java SE TCK e testato per garantire prestazioni e sicurezza di qualità di produzione.

Le istruzioni di installazione di Temurin variano in base al sistema operativo.

Se utilizzi immagini di avvio di Compute Engine, puoi utilizzare i seguenti script di installazione.

CentOS/RHEL/Rocky

  1. Determina la versione principale di 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. Crea il file del repository di origine Adoptium, `/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. Aggiorna gli elenchi di pacchetti:
    sudo yum update -y
  4. Installa Temurin:
    sudo yum install -y temurin-17-jdk
  5. Verifica l'installazione:
    java -version

Debian/Ubuntu

  1. Installa la chiave GPG del repository pubblico. Se utilizzi Ubuntu 16.4, passa la chiave tramite gpg --dearmor prima di salvarla nel file. (ad es. 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. Determina il nome della distribuzione Linux e crea il file dell'elenco di origine, /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. Aggiorna gli elenchi di pacchetti:
    sudo apt update -y
  4. Installa Temurin:
    sudo apt install -y temurin-17-jdk
  5. Verifica l'installazione:
    java -version

SLES

  1. Determina la versione principale di 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. Installa la chiave GPG del repository pubblico:
    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. Determina la versione di SLES e registra il repository Adoptium:
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. Aggiorna gli elenchi di pacchetti:
    sudo zypper update -y
  5. Installa Temurin:
    sudo zypper install -y temurin-17-jdk
  6. Verifica l'installazione:
    java -version

Windows

Per installare Temurin, esegui PowerShell versione 3.0 o successiva come amministratore con i seguenti comandi.

  1. Scarica Temurin. Il comando Invoke-WebRequest nelle istruzioni riportate di seguito richiede PowerShell 3.0 o versioni successive.
    $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. Imposta le variabili JAVA_HOME e Path:
    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. Verifica l'installazione:
    java -version

Installa uno strumento di automazione della build

Apache Maven, Gradle e SBT sono opzioni di gestione dei pacchetti che possono aiutare a creare le dipendenze delle app Java in modo rapido e coerente su tutte le piattaforme.

Installa gcloud CLI

gcloud CLI è un insieme di strumenti per Google Cloud. Contiene gcloud e bq, che puoi utilizzare per accedere a Compute Engine, Cloud Storage, BigQuery e altri prodotti e servizi dalla riga di comando. Puoi eseguire questi strumenti in modo interattivo o nei tuoi script automatizzati.

(Facoltativo) Installa un IDE o un editor

Gli editor più diffusi (in nessun ordine particolare) utilizzati per sviluppare app Java includono, a titolo esemplificativo:

Questi editor (a volte con l'aiuto di plug-in) offrono tutto, dall'evidenziazione della sintassi, all'IntelliSense e al completamento del codice fino a funzionalità di debug completamente integrate.

(Facoltativo) Installa un plug-in IDE

Per accedere a funzioni utili all'interno dell'editor, consulta i seguenti plug-in:

Installa le librerie client di Cloud per Java

Utilizza le librerie client di Cloud per Java per l'integrazione con i servizi Google Cloud, come Datastore e Cloud Storage. Puoi installare il pacchetto per una singola API, ad esempio BigQuery, come mostrato nell'esempio seguente.

Se utilizzi Maven, aggiungi quanto segue al file pom.xml. Per saperne di più sulle distinte base (BOM), consulta La distinta base (BOM) delle librerie di Google Cloud.

<!--  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>

Se utilizzi Gradle, aggiungi quanto segue alle tue dipendenze:

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

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

Se utilizzi sbt, aggiungi quanto segue alle tue dipendenze:

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

Se utilizzi Visual Studio Code o IntelliJ, puoi aggiungere librerie client al tuo progetto utilizzando i seguenti plug-in IDE:

I plug-in forniscono funzionalità aggiuntive, come la gestione delle chiavi per i service account. Per i dettagli, consulta la documentazione di ciascun plug-in.

Configura l'autenticazione

Per eseguire la libreria client, devi prima configurare l'autenticazione.

Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:

gcloud auth application-default login

Non è necessario farlo se utilizzi Cloud Shell.

Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver eseguito l'accesso a gcloud CLI con la tua identità federata.

Per saperne di più, consulta Autenticati per l'utilizzo delle librerie client.

Utilizza la libreria client

// 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());
  }
}

Configura gli endpoint per la libreria client

Se utilizzi API che supportano gli endpoint regionali, utilizza gli endpoint per configurare il server a cui inviare le richieste. Ad esempio, con l'API Google.Cloud.Dataproc.V1, puoi configurare un endpoint client. Puoi scoprire di più sugli endpoint regionali per Dataproc qui. Assicurati di sostituire MY-PROJECT con il nome del progetto e us-central1 con la regione appropriata per la tua configurazione nell'esempio seguente:

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();
 }

(Facoltativo) Osservabilità

Google Cloud Observability include servizi di osservabilità che ti aiutano a comprendere il comportamento, l'integrità e le prestazioni delle tue applicazioni Java. Per saperne di più, consulta Google Cloud Observability per Java.

Passaggi successivi

(Facoltativo) Utilizza il plug-in Maven o Gradle per App Engine

Se sviluppi nell'ambiente standard o flessibile di App Engine, puoi utilizzare i plug-in per gli strumenti di build Apache Maven e Gradle, che forniscono funzioni utili per sviluppare, testare ed eseguire il deployment delle tue app direttamente.

Per gli ambienti standard App Engine

Utilizza il plug-in Maven App Engine o il plug-in Gradle per gli ambienti standard di App Engine.

Per gli ambienti flessibili di App Engine

Utilizza il plug-in Maven App Engine o il plug-in Gradle per gli ambienti flessibili di App Engine.

Altre risorse