Pelajari langkah-langkah pemecahan masalah yang mungkin berguna jika Anda mengalami masalah dalam 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 dalam
pom.xml
, termasuk:
- Mereferensikan dalam project Maven turunan ke project induk menggunakan
elemen
<parent>
. - Dependensi plugin disimpan di Artifact Registry.
Jika project Anda perlu mengatasi dependensi ini, Anda harus menggunakan mekanisme ekstensi inti untuk memastikan bahwa Maven dapat menemukan file dan plugin POM induk.
Dalam project Anda, buat file ${maven.projectBasedir}/.mvn/extensions.xml
dengan konten berikut. Elemen <extension>
menentukan
wagon.
<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.1</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.
Snapshot 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 saat tanda ini dihilangkan dari perintah.
- PROJECT adalah project ID. Jika flag ini dihilangkan, project saat ini atau project default akan digunakan.
- LOCATION adalah lokasi regional atau multi-regional untuk repositori.
Output perintah menyertakan informasi tentang kebijakan versi
pada mavenConfig
. Pada 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