Configurar um ambiente de desenvolvimento Java

Neste tutorial, mostramos como preparar sua máquina local para Java desenvolvimento, incluindo o desenvolvimento de aplicativos em Java executados no Cloud de Confiance by S3NS. Siga estas etapas para instalar o Java e as ferramentas relevantes.

Objetivos

  • Instalar um JDK (Java Development Kit)
  • Instalar uma ferramenta de automação de compilação
  • Instalar a CLI gcloud
  • (Opcional) Instalar um ambiente de desenvolvimento integrado ou um editor
  • (Opcional) Instalar o plug-in de ambiente de desenvolvimento integrado Cloud de Confiance by S3NS
  • Instalar as bibliotecas de cliente do Google Cloud para Java
  • Configurar a autenticação

Instalar um JDK (Java Development Kit)

Você pode escolher qualquer distribuição Java, desde que as seguintes variáveis de ambiente estejam definidas:

  • JAVA_HOME: aponta para a base da instalação do JDK.
  • PATH: inclui $JAVA_HOME/bin.

O Eclipse Temurin é a distribuição recomendada do OpenJDK (Java Development Kit) para uso com o Cloud de Confiance by S3NS. O Temurin é licenciado de código aberto, certificado pelo Java SE TCK e testado para garantir desempenho e segurança de qualidade de produção.

As instruções de instalação do Temurin variam de acordo com o sistema operacional.

Se você estiver usando imagens de inicialização do Compute Engine, poderá usar os seguintes scripts de instalação.

CentOS/RHEL/Rocky

  1. Determine a versão principal do 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. Crie o arquivo de repositório de origem do 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. Atualize as listas de pacotes:
    sudo yum update -y
  4. Instale o Temurin:
    sudo yum install -y temurin-17-jdk
  5. Verifique a instalação:
    java -version

Debian/Ubuntu

  1. Instale a chave GPG pública de repositório. Se você estiver usando o Ubuntu 16.4, transmita a chave por gpg --dearmor antes de salvar no arquivo. Exemplo: 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. Determine o nome da distribuição Linux e crie o arquivo da lista de fontes, /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. Atualize as listas de pacotes:
    sudo apt update -y
  4. Instale o Temurin:
    sudo apt install -y temurin-17-jdk
  5. Verifique a instalação:
    java -version

SLES

  1. Determine a versão principal do 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. Instale a chave GPG do repositório 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. Determine a versão do SLES e registre o repositório do Adoptium:
    sudo zypper ar -f "https://packages.adoptium.net/artifactory/rpm/sles/$MAJOR_VERSION/$(uname -m)" adoptium
  4. Atualize as listas de pacotes:
    sudo zypper update -y
  5. Instale o Temurin:
    sudo zypper install -y temurin-17-jdk
  6. Verifique a instalação:
    java -version

Instalar uma ferramenta de automação de compilação

Apache Maven, Gradle, e SBT são opções de gerenciamento de pacotes que podem ajudar a criar dependências de aplicativos Java de maneira rápida e consistente em várias plataformas.

Instalar a CLI gcloud

A CLI gcloud é um conjunto de ferramentas para Cloud de Confiance. Ela contém gcloud e bq, que podem ser usadas para acessar o Compute Engine, o Cloud Storage, o BigQuery e outros produtos e serviços pela linha de comando. É possível executar essas ferramentas de maneira interativa ou nos scripts automatizados.

(Opcional) Instalar um ambiente de desenvolvimento integrado ou um editor

Os editores mais usados para desenvolver apps Java incluem, sem ordem específica:

Esses editores (às vezes com a ajuda de plug-ins) oferecem tudo, desde destaque de sintaxe, inteligência e conclusão de código até recursos de depuração totalmente integrados.

Instalar as bibliotecas de cliente do Google Cloud para Java

Use as bibliotecas de cliente do Google Cloud para Java para integrar-se a serviços como o Datastore e o Cloud Storage. Cloud de ConfianceVocê pode instalar o pacote de uma API individual, como a BigQuery, conforme mostrado no exemplo a seguir.

Se você estiver usando Maven, adicione o código abaixo ao arquivo pom.xml. Para mais informações sobre BOMs, consulte BOM das bibliotecas do Google Cloud Platform.

<!--  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 você estiver usando Gradle, adicione isto às dependências:

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

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

Se você estiver usando sbt, adicione o seguinte às suas dependências:

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

Se você estiver usando o Visual Studio Code ou o IntelliJ, poderá adicionar bibliotecas de cliente ao projeto usando estes plug-ins de ambiente de desenvolvimento integrado:

Os plug-ins também oferecem outras funcionalidades, como gerenciamento de chaves de contas de serviço. Consulte a documentação de cada plug-in para mais detalhes.

Configurar a autenticação

Para executar a biblioteca de cliente, primeiro você precisa configurar a autenticação.

Crie credenciais de autenticação local para sua conta de usuário:

gcloud auth application-default login

Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.

Para mais informações, consulte Autenticar para usar bibliotecas de cliente.

Usar a biblioteca de 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());
  }
}

Configurar endpoints para a biblioteca de cliente

Se você usa APIs que oferecem suporte a endpoints regionais, use endpoints para configurar a qual servidor enviar solicitações. Por exemplo, com a API Google.Cloud.Dataproc.V1, é possível configurar um endpoint de cliente. Saiba mais sobre endpoints regionais do Dataproc neste link. Substitua MY-PROJECT pelo nome do projeto e us-central1 pela região adequada à sua configuração no exemplo a seguir:

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

A seguir