Como trabalhar com pacotes Java

O Artifact Registry é compatível com pacotes Java criados com Maven e Gradle.

Visão geral

Para se familiarizar com os pacotes Java no Artifact Registry, consulte o guia de início rápido. Você também pode assistir um vídeo de visão geral.

Quando estiver pronto para saber mais, leia as seguintes informações:

  1. Crie um repositório de pacotes Java para seus pacotes.
  2. Conceda permissões à conta que se conectará ao repositório. As contas de serviço para integrações comuns com o Artifact Registry têm permissões padrão para repositórios no mesmo projeto.
  3. Configure suas ferramentas:
  4. Saiba mais sobre o gerenciamento de pacotes.

Versões de snapshot e lançamento do Maven

O Maven distingue as versões de snapshot e de lançamento dos projetos do Maven.

Snapshots

Um snapshot é uma versão de pré-lançamento de um projeto Java. O número da versão de um snapshot inclui o sufixo -SNAPSHOT no modelo de objeto do projeto (POM, na sigla em inglês). Por exemplo, esta configuração no arquivo pom.xml é para uma versão 1.0 do projeto que está em desenvolvimento:

<version>1.0-SNAPSHOT</version>

Quando você publica um pacote desse projeto, o Maven 3 anexa automaticamente um carimbo de data/hora ao número da versão do snapshot, para que cada versão seja única. O Maven 2 é compatível com versões de snapshot não exclusivas como meio de substituir os snapshots atuais em um repositório. Essa abordagem é problemática para a reprodutibilidade das versões. Por isso, o Maven 3 não é mais compatível com snapshots não exclusivos.

Os snapshots são uma maneira de publicar versões atualizadas de um pacote de pré-lançamento sem incrementar o número da versão no seu projeto do Maven toda vez que você publicar no repositório. Durante o desenvolvimento, outros projetos com dependências no pacote podem receber o snapshot mais recente da versão 1.0 do repositório.

Consulte a especificação da ordem de versão para mais detalhes sobre a sintaxe do número de versão do Maven e a ordem de classificação.

Versões

Quando estiver pronto para lançar um pacote, remova o sufixo -SNAPSHOT do número da versão no arquivo POM e atualize todos os projetos que dependem do pacote para que eles usem a versão de lançamento em vez de a versão de lançamento: versão do snapshot.

Para listar todas as dependências de snapshots, é possível filtrar a árvore de dependências com o comando:

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Política de versão do Artifact Registry

Ao criar um repositório Maven no Artifact Registry, é possível especificar uma política de versão do Maven:

  • Nenhum: armazena pacotes de snapshot e de lançamento. Essa é a configuração padrão.
  • Snapshot: armazena somente pacotes de snapshot.
  • Lançamento: armazena somente os pacotes de lançamento.

Se você escolher a política de versão do snapshot, será possível especificar se o repositório permite versões de snapshot não exclusivas que substituam as versões correspondentes no repositório. Recomendamos o uso de versões únicas, já que o Maven 3 não é compatível com o modelo de versão não exclusiva.

Visão geral em vídeo (em inglês)

Neste vídeo, você terá uma visão geral do Artifact Registry e de como usar o Artifact Registry com o Cloud Build para trabalhar com pacotes Java. Para mais informações sobre como usar o Cloud Build com o Artifact Registry, consulte Como integrar com o Cloud Build.