Gerenciar 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.

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

  1. Crie um repositório de pacotes Java para seus pacotes.
  2. Saiba como criar repositórios remotos e virtuais.
  3. Leia sobre como os repositórios remotos e virtuais podem ser usados neste exemplo de uso de repositório.
  4. 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.
  5. Configure suas ferramentas:
  6. Saiba mais sobre o gerenciamento de pacotes.

Snapshot do Maven e versões de lançamento

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

Snapshots

Um snapshot é uma versão de pré-lançamento de um projeto Java. O número da versão para 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 de projeto 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 oferece suporte a versões de snapshots não exclusivas como uma forma de substituir snapshots existentes em um repositório. Essa abordagem é problemática para a reprodutibilidade de builds, e é por isso que o Maven 3 não oferece mais suporte a snapshots não exclusivos.

Os snapshots oferecem uma maneira de publicar versões atualizadas de um pacote de pré-lançamento de forma iterativa sem incrementar o número de versão no projeto Maven sempre que você publica no repositório. Durante o desenvolvimento, outros projetos com dependências do 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 saber mais sobre a sintaxe do número da versão do Maven e a ordem de classificação.

Lançamentos

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

Para listar todas as dependências de snapshot, você pode 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 um Política da versão do Maven:

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

Se você escolher a política de versão do snapshot, também poderá especificar se o permite que versões de snapshot não exclusivas substituam as versões correspondentes no repositório. Recomendamos o uso de versões exclusivas, já que o Maven 3 não tem dão suporte ao modelo de versão não exclusiva.