Gestire i pacchetti Java

Artifact Registry supporta i pacchetti Java che crei con Maven e Gradle.

Panoramica

Per familiarizzare con i pacchetti Java in Artifact Registry, puoi provare la guida rapida.

Quando vuoi 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 i repository remoti e virtuali in questo esempio di utilizzo del 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 gli strumenti:
  6. Scopri di più sulla gestione dei pacchetti.

Versioni di release e snapshot di Maven

Maven distingue le versioni snapshot e release dei progetti Maven.

Snapshot

Uno snapshot è una versione pre-release di un progetto Java. Il numero di versione per uno snapshot include il suffisso -SNAPSHOT nel tuo modello di oggetti del progetto (POM). Ad esempio, questa impostazione nel file pom.xml è per 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 dell'istantanea in modo che ogni versione dell'istantanea sia univoca. Maven 2 supporta le versioni degli snapshot non univoche come mezzo per sovrascrivere gli snapshot esistenti in un repository. Questo approccio è problematico per la riproducibilità delle build, motivo per cui Maven 3 non supporta più gli snapshot non univoci.

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

Per maggiori dettagli sulla sintassi e sull'ordinamento del numero di versione di Maven, consulta la specifica dell'ordine delle versioni.

Release

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

Per elencare tutte le dipendenze degli snapshot, puoi filtrare l'albero 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 Maven:

  • Nessuno: vengono archiviati sia i pacchetti snapshot sia quelli release. Questa è l'impostazione predefinita.
  • Snapshot: memorizza solo i pacchetti di snapshot.
  • Release: solo pacchetti di release dei negozi.

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