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 Google Cloud. 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 Google Cloud
  • 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 Google Cloud. 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

Windows

Para instalar o Temurin, execute o PowerShell versão 3.0 ou mais recente como um administrador com os comandos a seguir.

  1. Faça o download do Temurin. O Invoke-WebRequest comando nas instruções abaixo requer o PowerShell 3.0 ou mais recente.
    $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. Defina as variáveis 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. 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 Google Cloud. 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.

(Opcional) Instalar um plug-in de ambiente de desenvolvimento integrado

Para acessar funções úteis no seu editor, confira os seguintes plug-ins:

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. Google CloudVocê 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.

Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:

gcloud auth application-default login

Não é necessário fazer isso se você estiver usando o Cloud Shell.

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

(Opcional) Usar o plug-in Maven ou Gradle para App Engine

Se você estiver desenvolvendo no ambiente padrão ou flexível do App Engine, poderá usar plug-ins para ferramentas de compilação do Apache Maven e do Gradle. Elas oferecem funções convenientes para desenvolver, testar e implantar os aplicativos diretamente.

Para ambientes padrão do App Engine

Use o Maven App Engine Plugin ou plug-in do Gradle para ambientes padrão do App Engine.

Para ambientes flexíveis do App Engine

Use o Maven App Engine Plugin ou o plug-in do Gradle para ambientes flexíveis do App Engine.

Mais recursos