Configura un entorno de desarrollo de Java

En este instructivo, se muestra cómo preparar tu máquina local para el desarrollo de Java, incluido el desarrollo de aplicaciones de Java que se ejecutan enGoogle Cloud. Sigue estos pasos para instalar Java y las herramientas relevantes.

Objetivos

  • Instalar un JDK (Java Development Kit)
  • Instalar una herramienta de compilación automática
  • Instala la CLI de gcloud.
  • Instalar un IDE o editor (opcional)
  • Instala el complemento del IDE Google Cloud (opcional).
  • Instala las bibliotecas cliente de Cloud para Java.
  • Configura la autenticación.

Instala un JDK (Java Development Kit).

Puedes elegir cualquier distribución de Java que desees. Para ello, asegúrate de que estén configuradas las siguientes variables de entorno:

  • JAVA_HOME: Debe apuntar a la base de la instalación del JDK.
  • PATH: Incluye $JAVA_HOME/bin.

Eclipse Temurin es la distribución recomendada de OpenJDK (Java Development Kit) para usar conGoogle Cloud. Temurin tiene licencia de código abierto, está certificado por el TCK de Java SE y se probó para garantizar un rendimiento y una seguridad de calidad de producción.

Las instrucciones de instalación de Temurin varían según el sistema operativo.

Si usas imágenes de arranque de Compute Engine, puedes usar las siguientes secuencias de comandos de instalación.

CentOS/RHEL/Rocky

  1. Determina la versión principal de 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 el archivo del repositorio de origen de 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. Actualiza las listas de paquetes:
    sudo yum update -y
  4. Instala Temurin:
    sudo yum install -y temurin-17-jdk
  5. Verifica la instalación:
    java -version

Debian/Ubuntu

  1. Instala la clave GPG del repositorio público. Si usas Ubuntu 16.4, pasa la clave a través de gpg --dearmor antes de guardarla en el archivo. (p. ej., 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 el nombre de la distribución de Linux y crea el archivo de lista de origen /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. Actualiza las listas de paquetes:
    sudo apt update -y
  4. Instala Temurin:
    sudo apt install -y temurin-17-jdk
  5. Verifica la instalación:
    java -version

SLES

  1. Determina la versión principal de 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. Instala la clave GPG del repositorio público:
    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 versión de SLES y registra el repositorio de Adoptium:
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. Actualiza las listas de paquetes:
    sudo zypper update -y
  5. Instala Temurin:
    sudo zypper install -y temurin-17-jdk
  6. Verifica la instalación:
    java -version

Windows

Para instalar Temurin, ejecuta PowerShell versión 3.0 o posterior como administrador con los siguientes comandos.

  1. Descarga Temurin. El comando Invoke-WebRequest en las siguientes instrucciones requiere PowerShell 3.0 o una versión posterior.
    $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. Configura las variables JAVA_HOME y 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 la instalación:
    java -version

Instala una herramienta de compilación automática

Apache Maven, Gradle y SBT son opciones de administración de paquetes que pueden ayudar a compilar dependencias de aplicaciones de Java de manera rápida y coherente en todas las plataformas.

Instala gcloud CLI

La CLI de gcloud es un conjunto de herramientas para Google Cloud. Contiene gcloud y bq, que puedes usar para acceder a Compute Engine, Cloud Storage, BigQuery y otros productos y servicios desde la línea de comandos. Puedes ejecutar estas herramientas de manera interactiva o en tus secuencias de comandos automatizadas.

Instala un IDE o editor (opcional)

Estos son algunos editores conocidos que se usan para desarrollar apps de Java (sin un orden especial):

Estos editores (con la ayuda de complementos, en algunos casos) te proporcionan todas las herramientas, como la sintaxis destacada, IntelliSense, funciones de autocompletar código y funciones de depuración completamente integradas.

Instala un complemento de IDE (opcional)

Para acceder a funciones útiles dentro de tu editor, revisa los siguientes complementos:

Instala las bibliotecas cliente de Cloud para Java

Usa las bibliotecas cliente de Cloud para Java para integrar los servicios de Google Cloud, como Datastore y Cloud Storage. Puedes instalar el paquete para una API individual, como BigQuery, de la manera que se muestra en el siguiente ejemplo.

If you are using Maven, add the following to your pom.xml file. For more information about BOMs, see 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>

If you are using Gradle, add the following to your dependencies:

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

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

If you are using sbt, add the following to your dependencies:

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

If you're using Visual Studio Code or IntelliJ, you can add client libraries to your project using the following IDE plugins:

The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.

Configura la autenticación

Para ejecutar la biblioteca cliente, debes configurar la autenticación.

If you're using a local shell, then create local authentication credentials for your user account:

gcloud auth application-default login

You don't need to do this if you're using Cloud Shell.

If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

Si deseas obtener más información, consulta Autentícate para usar las bibliotecas cliente.

Usa la biblioteca cliente

// 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 extremos para la biblioteca cliente

Si usas APIs que admiten extremos regionales, usa extremos para configurar a qué servidor enviar solicitudes. Por ejemplo, con la API de Google.Cloud.Dataproc.V1, puedes configurar un extremo del cliente. Puedes obtener más información sobre los extremos regionales de Dataproc aquí. Asegúrate de reemplazar MY-PROJECT por el nombre de tu proyecto y us-central1 por la región adecuada para tu configuración en el siguiente ejemplo:

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

¿Qué sigue?

Usa el complemento de Maven o Gradle para App Engine (opcional)

Si desarrollas en el entorno de App Engine Standard o Flexible, puedes usar complementos para las herramientas de compilación de Apache Maven y Gradle que proporcionan funciones útiles de desarrollo, implementación y prueba de apps directamente.

Para entornos de App Engine Standard

Usa el complemento de Maven App Engine o el complemento de Gradle para los entornos estándar de App Engine.

Para entornos de App Engine Flexible

Usa el complemento de Maven App Engine o el complemento de Gradle para los entornos flexibles de App Engine.

Más recursos