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 CodeArtifact dengan mvn

Mode fokus
Gunakan CodeArtifact dengan mvn - 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.

Anda menggunakan perintah mvn untuk mengeksekusi build Maven. Bagian ini menunjukkan cara mengkonfigurasi mvn untuk menggunakan CodeArtifact repositori.

Mengambil dependensi

Untuk mengonfigurasi mvn untuk mengambil dependensi dari CodeArtifact repositori, Anda harus mengedit file konfigurasi Maven, dan secara opsionalsettings.xml, POM proyek Anda.

  1. Jika belum, buat dan simpan token CodeArtifact autentikasi dalam variabel lingkungan seperti yang dijelaskan Teruskan token auth menggunakan variabel lingkungan untuk menyiapkan otentikasi ke repositori Anda CodeArtifact .

  2. Dalam settings.xml (biasanya ditemukan di ~/.m2/settings.xml), tambahkan bagian <servers> dengan referensi ke variabel lingkungan CODEARTIFACT_AUTH_TOKEN sehingga Maven meneruskan token dalam permintaan HTTP.

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. Tambahkan titik akhir URL untuk CodeArtifact repositori Anda dalam sebuah elemen. <repository> Anda dapat melakukan hal ini di settings.xml atau file POM proyek Anda.

    Anda dapat mengambil endpoint repositori Anda dengan menggunakan perintah. get-repository-endpoint AWS CLI

    Misalnya, dengan repositori bernama my_repo di dalam domain bernamamy_domain, perintahnya adalah sebagai berikut:

    aws codeartifact get-repository-endpoint --domain my_domain --repository my_repo --format maven

    Parameter perintah get-repository-endpoint akan mengembalikan titik akhir repositori:

    url 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/'
    catatan

    Untuk menggunakan endpoint dualstack, gunakan endpoint. codeartifact.region.on.aws

    Tambahkan titik akhir repositori ke settings.xml sebagai berikut.

    <settings> ... <profiles> <profile> <id>default</id> <repositories> <repository> <id>codeartifact</id> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> ... </settings>

    Atau, Anda dapat menambahkan <repositories> bagian ke file POM proyek untuk digunakan hanya CodeArtifact untuk proyek itu.

    <project> ... <repositories> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> ... </project>
penting

Anda dapat menggunakan nilai apa pun dalam elemen <id>, tetapi harus sama di elemen <server> dan <repository>. Hal ini memungkinkan kredensi yang ditentukan untuk dimasukkan dalam permintaan untuk. CodeArtifact

Setelah membuat perubahan konfigurasi ini, Anda dapat membangun proyek.

mvn compile

Maven mencatat URL lengkap dari semua dependensi yang diunduhnya ke konsol.

[INFO] ------------------< com.example.example:myapp >------------------- [INFO] Building myapp 1.0 [INFO] --------------------------------[ jar ]--------------------------------- Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom (11 kB at 3.9 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom (68 kB at 123 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar (54 kB at 134 kB/s)

Memublikasikan artefak

Untuk mempublikasikan artefak Maven dengan mvn ke CodeArtifact repositori, Anda juga harus mengedit ~/.m2/settings.xml dan proyek POM.

  1. Jika belum, buat dan simpan token CodeArtifact autentikasi dalam variabel lingkungan seperti yang dijelaskan Teruskan token auth menggunakan variabel lingkungan untuk menyiapkan otentikasi ke repositori Anda CodeArtifact .

  2. Tambahkan bagian <servers> ke settings.xmldengan referensi ke variabel lingkungan CODEARTIFACT_AUTH_TOKEN sehingga Maven meneruskan token dalam permintaan HTTP.

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. Tambahkan bagian <distributionManagement> ke pom.xml.

    <project> ... <distributionManagement> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </distributionManagement> ... </project>

Setelah membuat perubahan konfigurasi ini, Anda dapat membangun proyek dan memublikasikannya ke repositori yang ditentukan.

mvn deploy

Gunakan list-package-versions untuk memeriksa bahwa paket berhasil dipublikasikan.

aws codeartifact list-package-versions --domain my_domain --domain-owner 111122223333 --repository my_repo --format maven \ --namespace com.company.framework --package my-package-name

Contoh output:

{ "defaultDisplayVersion": null, "format": "maven", "namespace": "com.company.framework", "package": "my-package-name", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }

Memublikasikan artefak pihak ketiga

Anda dapat mempublikasikan artefak Maven pihak ketiga ke repositori dengan CodeArtifact . mvn deploy:deploy-file Hal ini dapat membantu pengguna yang ingin memublikasikan artefak dan hanya memiliki file JAR dan tidak memiliki akses ke kode sumber paket atau file POM.

Perintah mvn deploy:deploy-file akan menghasilkan file POM berdasarkan informasi yang dikirimkan pada baris perintah.

Memublikasikan artefak Maven pihak ketiga
  1. Jika belum, buat dan simpan token CodeArtifact autentikasi dalam variabel lingkungan seperti yang dijelaskan Teruskan token auth menggunakan variabel lingkungan untuk menyiapkan otentikasi ke repositori Anda CodeArtifact .

  2. Buat file ~/.m2/settings.xml dengan konten berikut ini:

    <settings> <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> </settings>
  3. Jalankan perintah mvn deploy:deploy-file:

    mvn deploy:deploy-file -DgroupId=commons-cli \ -DartifactId=commons-cli \ -Dversion=1.4 \ -Dfile=./commons-cli-1.4.jar \ -Dpackaging=jar \ -DrepositoryId=codeartifact \ -Durl=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/repo-name/
    catatan

    Contoh di atas memublikasikan commons-cli 1.4. Ubah groupId, artifactID, versi, dan file argumen untuk memublikasikan JAR yang berbeda.

Instruksi ini didasarkan pada contoh dalam Panduan untuk menyebarkan pihak JARs ke-3 ke repositori jarak jauh dari dokumentasi Apache Maven.

Batasi unduhan ketergantungan Maven ke repositori CodeArtifact

Jika paket tidak dapat diambil dari repositori yang dikonfigurasi, secara default, perintah mvn mengambilnya dari Maven Central. Tambahkan mirrors elemen settings.xml untuk membuat mvn selalu menggunakan CodeArtifact repositori Anda.

<settings> ... <mirrors> <mirror> <id>central-mirror</id> <name>CodeArtifact Maven Central mirror</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>

Jika Anda menambahkan elemen mirrors, Anda juga harus memiliki elemen pluginRepository di settings.xml atau pom.xml. Contoh berikut mengambil dependensi aplikasi dan plugin Maven dari repositori. CodeArtifact

<settings> ... <profiles> <profile> <pluginRepositories> <pluginRepository> <id>codeartifact</id> <name>CodeArtifact Plugins</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> ... </settings>

Contoh berikut mengambil dependensi aplikasi dari CodeArtifact repositori dan mengambil plugin Maven dari Maven Central.

<profiles> <profile> <id>default</id> ... <pluginRepositories> <pluginRepository> <id>central-plugins</id> <name>Central Plugins</name> <url>https://repo.maven.apache.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> .... </profile> </profiles>

Informasi Proyek Apache Maven

Untuk informasi lebih lanjut tentang Maven, lihat topik ini di situs web Apache Maven Project:

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