Pelajari langkah-langkah pemecahan masalah yang mungkin berguna jika Anda mengalami masalah saat mengelola paket java di Artifact Registry.
Tidak dapat me-resolve dependensi yang disimpan di Artifact Registry
Maven me-resolve beberapa dependensi sebelum menerapkan wagon yang ditentukan di
pom.xml
, termasuk:
- Referensi dalam project Maven turunan ke project induk menggunakan
elemen
<parent>
. - Dependensi plugin yang disimpan di Artifact Registry.
Jika project Anda perlu me-resolve dependensi ini, Anda harus menggunakan mekanisme ekstensi inti untuk memastikan Maven dapat menemukan file dan plugin POM induk.
Dalam project Anda, buat file ${maven.projectBasedir}/.mvn/extensions.xml
dengan konten berikut. Elemen <extension>
menentukan
gerbong.
<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.4</version>
</extension>
</extensions>
Tidak dapat mengupload snapshot non-unik ke repositori snapshot
Anda dapat mengupload versi snapshot yang tidak ada di repositori snapshot Artifact Registry, tetapi Anda tidak dapat menimpa versi yang sudah ada di repositori.
Ringkasan non-unik adalah fitur Maven 2. Maven 3 selalu menambahkan stempel waktu ke nomor versi snapshot sehingga setiap versi snapshot bersifat unik.
Artifact Registry hanya mendukung versi snapshot non-unik di repositori dengan kebijakan versi snapshot. Secara default, repositori snapshot hanya menerima versi snapshot unik. Anda hanya dapat menetapkan kebijakan versi saat membuat repositori.
Untuk mengetahui setelan kebijakan versi untuk repositori, jalankan perintah berikut:
gcloud artifacts repositories describe REPOSITORY \
[--project=PROJECT] \
[--location=LOCATION]
Dari mana
- REPOSITORY adalah ID repositori. Jika Anda mengonfigurasi repositori Artifact Registry default, repositori tersebut akan digunakan jika flag ini dihilangkan dari perintah.
- PROJECT adalah project ID. Jika flag ini dihilangkan, project default atau project saat ini akan digunakan.
- LOCATION adalah lokasi regional atau multi-regional untuk repositori.
Output perintah ini mencakup informasi tentang kebijakan versi
di bagian mavenConfig
. Dalam contoh berikut, repositori memiliki kebijakan versi
snapshot dan snapshot tidak dapat menimpa versi yang identik di
repositori.
Encryption: Google-managed key
createTime: '2021-09-23T19:39:10.897404Z'
format: MAVEN
mavenConfig:
allowSnapshotOverwrites: false
versionPolicy: SNAPSHOT