Gestione dei pacchetti Java

Artifact Registry supporta i pacchetti Java creati con Maven e Gradle.

Panoramica

Per acquisire familiarità con i pacchetti Java in Artifact Registry, puoi provare la quickstart. Puoi anche guardare un video introduttivo.

Per saperne di più, leggi le seguenti informazioni:

  1. Crea un repository di pacchetti Java per i tuoi pacchetti.
  2. Scopri come creare repository remoti e virtuali.
  3. Scopri come utilizzare repository remoti e virtuali in questo esempio di utilizzo dei repository.
  4. Concedi le autorizzazioni all'account che si connetterà al repository. Gli account di servizio per le integrazioni comuni con Artifact Registry dispongono di autorizzazioni predefinite per i repository nello stesso progetto.
  5. Configura i tuoi strumenti:
  6. Scopri di più sulla gestione dei pacchetti.

Versioni release e snapshot Maven

Maven distingue tra le versioni snapshot e release dei progetti Maven.

Snapshot

Uno snapshot è una versione pre-release di un progetto Java. Il numero di versione di uno snapshot include il suffisso -SNAPSHOT nel POM (Project Object Model). Ad esempio, questa impostazione nel file pom.xml riguarda una versione 1.0 del progetto in fase di sviluppo:

<version>1.0-SNAPSHOT</version>

Quando pubblichi un pacchetto da questo progetto, Maven 3 aggiunge automaticamente un timestamp al numero di versione dello snapshot in modo che ogni versione dello snapshot sia univoca. Maven 2 supporta versioni degli snapshot non univoche per sovrascrivere gli snapshot esistenti in un repository. Questo approccio crea problemi per la riproducibilità delle build, motivo per cui Maven 3 non supporta più snapshot non univoci.

Gli snapshot consentono di pubblicare in modo iterativo le versioni aggiornate di un pacchetto di pre-release senza incrementare il numero di versione nel progetto Maven ogni volta che pubblichi nel repository. Durante lo sviluppo, gli altri progetti con dipendenze nel pacchetto possono ottenere lo snapshot più recente della versione 1.0 dal repository.

Per informazioni dettagliate sulla sintassi e sull'ordinamento del numero di versione Maven, consulta la specifica dell'ordine di versione.

Release

Quando è tutto pronto per rilasciare un pacchetto, devi rimuovere il suffisso -SNAPSHOT dal numero di versione nel file POM e aggiornare tutti i progetti che dipendono dal pacchetto in modo che utilizzino la versione di release anziché la versione dello snapshot.

Per elencare tutte le dipendenze degli snapshot, puoi filtrare la struttura delle dipendenze con il comando:

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

Criterio di versione di Artifact Registry

Quando crei un repository Maven in Artifact Registry, puoi specificare un criterio di versione di Maven:

  • Nessuno: archivia sia i pacchetti di snapshot che di release. Questa è l'impostazione predefinita.
  • Snapshot: archivia solo i pacchetti di snapshot.
  • Release: archivia solo i pacchetti di release.

Se scegli il criterio della versione degli snapshot, puoi anche specificare se il repository consente versioni degli snapshot non univoche che sovrascrivono versioni corrispondenti nel repository. Ti consigliamo di utilizzare versioni univoche, perché Maven 3 non supporta il modello di versione non univoco.

Panoramica video.

Questo video fornisce una panoramica di Artifact Registry e del modo in cui puoi utilizzare Artifact Registry con Cloud Build per lavorare con i pacchetti Java. Per ulteriori informazioni sull'utilizzo di Cloud Build con Artifact Registry, consulta Integrazione con Cloud Build