Scopri i passaggi per la risoluzione dei problemi, utili in caso di problemi di gestione dei pacchetti Java in Artifact Registry.
Impossibile risolvere una dipendenza archiviata in Artifact Registry
Maven risolve alcune dipendenze prima di applicare un wagon definito in
pom.xml
, tra cui:
- Riferimenti in un progetto Maven secondario a un progetto padre utilizzando
Elemento
<parent>
. - Dipendenze dei plug-in archiviate in Artifact Registry.
Se il tuo progetto deve risolvere queste dipendenze, devi utilizzare il meccanismo delle estensioni di base per assicurarti che Maven possa individuare i file POM e i plug-in principali.
Nel tuo progetto, crea il file ${maven.projectBasedir}/.mvn/extensions.xml
con i seguenti contenuti. L'elemento <extension>
definisce
di un vagone.
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>com.google.cloud.artifactregistry</groupId>
<artifactId>artifactregistry-maven-wagon</artifactId>
<version>2.2.3</version>
</extension>
</extensions>
Impossibile caricare snapshot non univoci in un repository di snapshot
Puoi caricare versioni degli snapshot che non esistono in Artifact Registry ma non puoi sovrascrivere una versione già esistente nel repository.
Gli snapshot non univoci sono una funzionalità di Maven 2. Maven 3 aggiunge sempre un timestamp ai numeri di versione degli snapshot in modo che ogni versione sia univoca.
Artifact Registry supporta solo versioni di snapshot non univoche in dei repository con un criterio di versione degli snapshot. Per impostazione predefinita, i repository di snapshot accettano solo versioni di snapshot univoche. Puoi impostare un criterio di versione solo quando crei il repository.
Per scoprire le impostazioni dei criteri di versione per un repository, esegui questo comando: :
gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] \
[--location=LOCATION]
Dove
- REPOSITORY è l'ID del repository. Se hai configurato Artifact Registry predefinito repository, viene utilizzato quando questo flag viene omesso dal comando.
- PROJECT è l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
- LOCATION è la posizione regionale o multiregionale del repository.
L'output del comando include informazioni sul criterio di versione
sotto mavenConfig
. Nell'esempio seguente, il repository include uno snapshot
il criterio di versione e gli snapshot non possono sovrascrivere versioni identiche nel
repository Git.
Encryption: Google-managed key
createTime: '2021-09-23T19:39:10.897404Z'
format: MAVEN
mavenConfig:
allowSnapshotOverwrites: false
versionPolicy: SNAPSHOT