Descubre soluciones que pueden resultarte útiles si tienes algún problema mientras gestionas paquetes de Java en Artifact Registry.
No se puede resolver una dependencia almacenada en Artifact Registry
Maven resuelve algunas dependencias antes de aplicar un transporte definido en pom.xml
, entre las que se incluyen las siguientes:
- Referencias en un proyecto secundario de Maven a un proyecto principal mediante el elemento
<parent>
. - Dependencias de complementos almacenadas en Artifact Registry.
Si tu proyecto necesita resolver estas dependencias, debes usar el mecanismo de extensiones principales para asegurarte de que Maven pueda localizar los archivos POM principales y los complementos.
En tu proyecto, crea el archivo ${maven.projectBasedir}/.mvn/extensions.xml
con el siguiente contenido. El elemento <extension>
define el vagón.
<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.5</version>
</extension>
</extensions>
No se pueden subir copias de fotos a un repositorio de fotos
Puedes subir versiones de instantáneas que no existan en un repositorio de instantáneas de Artifact Registry, pero no puedes sobrescribir una versión que ya exista en el repositorio.
Las versiones de desarrollo no únicas son una función de Maven 2. Maven 3 siempre añade una marca de tiempo a los números de versión de las versiones de desarrollo para que cada versión de desarrollo sea única.
Artifact Registry solo admite versiones de instantáneas no únicas en repositorios con una política de versiones de instantáneas. De forma predeterminada, los repositorios de instantáneas solo aceptan versiones únicas de instantáneas. Solo puedes definir una política de versiones cuando creas el repositorio.
Para consultar la configuración de la política de versiones de un repositorio, ejecuta el siguiente comando:
gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] \
[--location=LOCATION]
Dónde
- REPOSITORY es el ID del repositorio. Si has configurado un repositorio predeterminado de Artifact Registry, se usará cuando se omita esta marca en el comando.
- PROJECT es el ID del proyecto. Si se omite esta marca, se usará el proyecto predeterminado o el actual.
- LOCATION es la ubicación regional o multirregional del repositorio.
El resultado del comando incluye información sobre la política de versiones
en mavenConfig
. En el siguiente ejemplo, el repositorio tiene una política de versiones de instantáneas y las instantáneas no pueden sobrescribir versiones idénticas en el repositorio.
Encryption: Google-managed key
createTime: '2021-09-23T19:39:10.897404Z'
format: MAVEN
mavenConfig:
allowSnapshotOverwrites: false
versionPolicy: SNAPSHOT