Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Gunakan checksum Maven

Mode fokus
Gunakan checksum Maven - CodeArtifact

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ketika artefak Maven dipublikasikan ke AWS CodeArtifact repositori, checksum yang terkait dengan setiap aset atau file dalam paket digunakan untuk memvalidasi unggahan. Contoh aset adalah file jar, pom, dan war. Untuk setiap aset, artefak Maven berisi beberapa file checksum yang menggunakan nama aset dengan ekstensi tambahan, seperti md5 atau sha1. Sebagai contoh, file checksum untuk file bernama my-maven-package.jar mungkin my-maven-package.jar.md5 dan my-maven-package.jar.sha1.

catatan

Maven menggunakan istilah artifact. Dalam panduan ini, paket Maven sama dengan artefak Maven. Untuk informasi lebih lanjut, lihat AWS CodeArtifactpaket.

Penyimpanan Checksum

CodeArtifact tidak menyimpan checksum Maven sebagai aset. Ini berarti bahwa checksum tidak muncul sebagai aset individual dalam output API. ListPackageVersionAssets Sebagai gantinya, checksum yang dihitung oleh CodeArtifact tersedia untuk setiap aset di semua jenis checksum yang didukung. Misalnya, bagian dari respons panggilan ListPackageVersionAssets pada versi commons-lang:commons-lang 2.1 paket Maven adalah:

{ "name": "commons-lang-2.1.jar", "size": 207723, "hashes": { "MD5": "51591549f1662a64543f08a1d4a0cf87", "SHA-1": "4763ecc9d78781c915c07eb03e90572c7ff04205", "SHA-256": "2ded7343dc8e57decd5e6302337139be020fdd885a2935925e8d575975e480b9", "SHA-512": "a312a5e33b17835f2e82e74ab52ab81f0dec01a7e72a2ba58bb76b6a197ffcd2bb410e341ef7b3720f3b595ce49fdd9994ea887ba08ff6fe21b2c714f8c405af" } }, { "name": "commons-lang-2.1.pom", "size": 9928, "hashes": { "MD5": "8e41bacdd69de9373c20326d231c8a5d", "SHA-1": "a34d992202615804c534953aba402de55d8ee47c", "SHA-256": "f1a709cd489f23498a0b6b3dfbfc0d21d4f15904791446dec7f8a58a7da5bd6a", "SHA-512": "1631ce8fe4101b6cde857f5b1db9b29b937f98ba445a60e76cc2b8f2a732ff24d19b91821a052c1b56b73325104e9280382b2520edda4e7696698165c7e09161" } }, { "name": "maven-metadata.xml", "size": 121, "hashes": { "MD5": "11bb3d48d984f2f49cea1e150b6fa371", "SHA-1": "7ef872be17357751ce65cb907834b6c5769998db", "SHA-256": "d04d140362ea8989a824a518439246e7194e719557e8d701831b7f5a8228411c", "SHA-512": "001813a0333ce4b2a47cf44900470bc2265ae65123a8c6b5ac5f2859184608596baa4d8ee0696d0a497755dade0f6bf5e54667215a06ceae1effdfb7a8d30f88" } }

Meskipun checksum tidak disimpan sebagai aset, klien Maven masih dapat mempublikasikan dan mengunduh checksum di lokasi yang diharapkan. Misalnya, jika commons-lang:commons-lang 2.1 berada di repositori yang disebutmaven-repo, jalur URL untuk checksum SHA-256 dari file JAR adalah:

/maven/maven-repo/commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha256

Jika Anda mengunggah paket Maven yang ada (misalnya, paket yang sebelumnya disimpan di Amazon S3) untuk CodeArtifact menggunakan klien HTTP generik seperticurl, tidak perlu mengunggah checksum. CodeArtifact akan menghasilkannya secara otomatis. Jika ingin memverifikasi bahwa aset telah diunggah dengan benar, Anda dapat menggunakan operasi ListPackageVersionAssets API untuk membandingkan checksum dalam respons terhadap nilai checksum asli untuk setiap aset.

Ketidakcocokan checksum selama penerbitan

Selain aset dan checksum, artefak Maven juga berisi file. maven-metadata.xml Urutan penerbitan normal untuk paket Maven adalah untuk semua aset dan checksum yang akan diunggah terlebih dahulu, diikuti oleh. maven-metadata.xml Misalnya, urutan penerbitan untuk versi paket Maven yang commons-lang 2.1 dijelaskan sebelumnya, dengan asumsi klien dikonfigurasi untuk menerbitkan file checksum SHA-256, adalah:

PUT commons-lang-2.1.jar PUT commons-lang-2.1.jar.sha256 PUT commons-lang-2.1.pom PUT commons-lang-2.1.pom.sha256 PUT maven-metadata.xml PUT maven-metadata.xml.sha256

Saat mengunggah file checksum untuk aset, seperti file JAR, permintaan unggahan checksum akan gagal dengan respons 400 (Permintaan Buruk) jika ada ketidakcocokan antara nilai checksum yang diunggah dan nilai checksum yang dihitung oleh. CodeArtifact Jika aset terkait tidak ada, permintaan akan gagal dengan respons 404 (Tidak Ditemukan). Untuk menghindari kesalahan ini, Anda harus mengunggah aset terlebih dahulu, lalu mengunggah checksum.

Ketika maven-metadata.xml diunggah, CodeArtifact biasanya mengubah status versi paket Maven dari ke. Unfinished Published Jika ketidakcocokan checksum terdeteksi untuk aset apa pun, CodeArtifact akan mengembalikan 400 (Permintaan Buruk) sebagai tanggapan atas permintaan maven-metadata.xml penerbitan. Kesalahan ini dapat menyebabkan klien berhenti mengunggah file untuk versi paket tersebut. Jika ini terjadi, dan maven-metadata.xml file tidak diunggah, aset apa pun dari versi paket yang sudah diunggah tidak dapat diunduh. Ini karena status versi paket tidak disetel ke Published dan tetap adaUnfinished.

CodeArtifact memungkinkan penambahan aset lebih lanjut ke versi paket Maven bahkan setelah maven-metadata.xml diunggah dan status versi paket telah disetel ke. Published Dalam status ini, permintaan untuk mengunggah file checksum yang tidak cocok juga akan gagal dengan respons 400 (Permintaan Buruk). Namun, karena status versi paket telah disetel kePublished, Anda dapat mengunduh aset apa pun dari paket, termasuk aset yang gagal diunggah file checksum. Saat mengunduh checksum untuk aset di mana unggahan file checksum gagal, nilai checksum yang diterima klien akan menjadi nilai checksum yang dihitung CodeArtifact berdasarkan data aset yang diunggah.

CodeArtifact perbandingan checksum peka huruf besar/kecil, dan checksum yang dihitung oleh CodeArtifact diformat dalam huruf kecil. Oleh karena itu, jika checksum 909FA780F76DA393E992A3D2D495F468 diunggah, itu akan gagal dengan ketidakcocokan checksum karena CodeArtifact tidak memperlakukannya sama dengan. 909fa780f76da393e992a3d2d495f468

Memulihkan dari ketidakcocokan checksum

Jika unggahan checksum gagal karena ketidakcocokan checksum, coba salah satu dari berikut ini untuk memulihkan:

  • Jalankan perintah yang menerbitkan artefak Maven lagi. Ini mungkin berfungsi jika masalah jaringan merusak file checksum. Jika ini menyelesaikan masalah jaringan, checksum cocok dan unduhan berhasil.

  • Hapus versi paket dan kemudian publikasikan ulang. Untuk informasi selengkapnya, lihat DeletePackageVersionsdi AWS CodeArtifact API Referensi.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.