Saya berharap seseorang dapat membantu saya dengan masalah yang saya perjuangkan.
Ketika saya mencoba untuk membangun proyek saya dari terminal saya mendapatkan kesalahan ini:
Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT
The common.test-data-utils
jar diciptakan oleh sebuah proyek terpisah dan dibagi antara ini dan proyek lain (proyek lainnya tidak membangun baik, tapi itu adalah ke masalah lain).
Saya dapat membangun com.morrislgn.merchandising.common:test-data-utils
tanpa masalah, saya dapat melihat entri yang dibuatnya di .m2
repositori lokal di komputer saya. Saya telah mengindeks ulang repositori saya di Eclipse juga.
POM untuk proyek saya memiliki entri ini:
<dependency>
<groupId>com.morrislgn.merchandising.common</groupId>
<artifactId>test-data-utils</artifactId>
<version>0.3b-SNAPSHOT</version>
</dependency>
Yang menurut saya benar - POM tidak melaporkan kesalahan apa pun saat dilihat di Eclipse.
Bisakah seseorang memberi tahu saya apa yang saya lewatkan di sini atau melakukan kesalahan?
sumber
~/.m2/setting.xml
bagian mirror Anda terlebih dahulu, dan kemudian setelah berjalanmvn -U clean install
, pastikan untukReimport
(klik kanan proyek, kemudian di bawahMaven
bagian bawah adaReimport
tombol ).Masalah ini dapat terjadi jika Anda memiliki beberapa proyek anak yang merujuk ke pom induk dan Anda belum menginstal dari direktori pom induk (dijalankan
mvn install
dari direktori induk). Salah satu proyek anak-anak mungkin bergantung pada proyek saudara kandung dan ketika membaca pom saudara kandung, itu akan gagal dengan kesalahan yang disebutkan dalam pertanyaan kecuali Anda telah menginstal dari direktori pom induk setidaknya sekali.Saya baru saja mengalami masalah ini ketika memindahkan proyek ke komputer baru. Saya terbiasa menjalankan perintah dari proyek anak dan tidak menjalankan instalasi pada orangtua.
sumber
mvn install
pada induk Anda juga dapat menambahkan-N
untuk operasi non-rekursif. Ini akan menyebabkan pakar melewatkan semua modul (termasuk modul yang gagal) dan hanya melakukaninstall
tujuan untuk induknya.mvn install
di pom induk. Bukankah ini hanya digunakan sehingga ketergantungan saudara dapat diunduh? Jika Anda pergi ke direktori saudara & larimvn install
dari sana sehingga toples berada di repositori lokal Anda, bukankah ini menghasilkan hal yang persis sama?Punya masalah yang sama dengan IntelliJ IDEA dan berikut berhasil.
File
Settings
Build, Execution, Deployments
Build Tools
dari drop downMaven
dari drop downAlways update snapshots
kotak centangsumber
Jika Anda menggunakan Eclipse, Klik Kanan pada Proyek Anda -> Maven -> Perbarui Proyek . Ini akan membuka kotak dialog Perbarui Proyek Maven.
Di kotak dialog itu, centang kotak centang Paksa Perbarui Snapshots / Rilis & klik OK . (Silakan lihat gambar di bawah)
Ini berhasil untuk saya!
sumber
Jika Anda menggunakan gerhana, klik kanan pada proyek -> properti -> Maven dan pastikan bahwa " Selesaikan dependensi dari proyek ruang kerja " tidak diklik.
Semoga ini membantu.
sumber
Saya tahu saya agak terlambat ke percakapan, tapi saya punya masalah ini juga. Saya pikir masalahnya adalah firewall perusahaan saya. Solusi saya adalah mencabut kabel dari jaringan, terhubung ke nirkabel terbuka kami dan kemudian memaksa pembaruan melalui Eclipse. Ini menyelesaikan segalanya.
sumber
Saya memiliki masalah yang sama dengan gerhana di mana baris perintah pakar bekerja dengan baik TAPI coba ini
Kesalahan hilang .... mengapa baris perintah mvn saya bekerja dengan direktori dan gerhana .m2eclipse tidak bisa, saya tidak tahu dan agak menyebalkan. Proyek saya sekarang bekerja di gerhana lagi.
sumber
mvn clean install
bekerjaSaya memiliki masalah yang sama menggunakan IntelliJ. Saya menyelesaikannya dengan klik kanan pada pom.xml> Maven> Reimport
sumber
Saya memecahkan masalah ini dengan menghapus di folder repositori di mana kesalahan ini ditampilkan semuanya kecuali file .jar dan .pom.
sumber
Masalah "Gagal membaca artefak deskriptor" umumnya menunjukkan masalah dengan file pom dependensi dalam repositori maven. Saya akan menyarankan Anda untuk memeriksa ulang apakah nama file pom sama dengan nama pakar, dan juga untuk memeriksa apakah isi file pom valid.
sumber
Bagi saya, itu terkait dengan pengaturan "Pengaturan Pengguna.xml" di dalamnya
sumber
Saya punya proyek
Sekarang ada proyek lain di org kami
(Setiap modul a1, b1 dll. Dan proyek Induk A, B memiliki pom.xml sendiri sesuai aturan standar pakar orangtua dan anak)
Kedua proyek diperiksa pada gerhana lokal saya (dari SVN). Saya aktif mengerjakan A.
Saya jadi tahu bahwa ada fungsionalitas umum yang baik (b4) yang dikembangkan dalam B dan saya harus menggunakannya.
Pengembang b4 telah menggunakan modul b4 ini sebagai artefak dalam repositori org kami. Saya menyertakan ketergantungan pada POM modul saya, yaitu pom.xml a2. Eclipse mengunduh artefak yang diperlukan dari repo dan saya dapat mengimpor kelas-kelas di dalamnya.
Sekarang masalah dimulai ... Saya perlu memeriksa kode sumber b4 untuk beberapa tujuan dan karena saya sudah memiliki B memeriksa gerhana lokal saya, saya memperbaruinya dari SVN dan memeriksa modul b4. Saya juga menjalankan pom.xml dari modul b4 dengan target seperti clean, package dll. Setelah beberapa saat ketika saya selesai melakukan coding, saya perlu membuat JAR dari modul saya a2. Saya menjalankan "package" pada pom.xml a2 dan BAM !! kesalahan dan kesalahan untuk modul a2 .. Kesalahan ini juga tidak terlalu ramah pengguna. Hanya ada nama b4 di log.
Solusi: Setelah mencoba banyak solusi selama berjam-jam, saya menjalankan "mvn -U clean install" dari konsol di directoty proyek B saya (yaitu di ../codebase/B). Karena B adalah induknya, perintah install clean dijalankan untuk semua modul termasuk b4 dan berhasil dijalankan. Setelah ini saya menjalankan "mvn -U clean install" untuk proyek induk saya yaitu A. Dan ini berhasil! Modul a2 dikompilasi, diinstal, (dikemas kemudian) dengan sukses.
Poin penting di sini adalah jika b4 ada di ruang kerja Anda jangan hanya menginstal b4. Anda akan perlu menginstal-lengkap B. Saya datang ke solusi ini setelah membaca jawaban dari Zuill
EDIT: Satu hal lagi di sini untuk dicatat bahwa jika saya tidak memeriksa proyek B di lingkungan lokal maka masalah ini mungkin tidak terjadi pada saya. Saya cenderung berpikir bahwa ini terjadi karena saya telah memeriksa B di ruang kerja lokal saya.
sumber
Anda menyebutkan dua groupIds berbeda,
com.morrislgn.merchandising.common
dancom.johnlewis.jec.webpim.common
. Mungkin ini masalahnya.sumber
Referensi Maven error "Gagal mentransfer ..."
sumber
Tidak beruntung memperbarui melalui gerhana. Harus menggunakan mvn clean install -U (yang menyelesaikan semuanya).
sumber
Bagi saya, sepertinya memang ada masalah dengan ketergantungan POM.
Saya mengatasinya dengan menggunakan repositori jitpack virtual, yang dengannya Anda dapat menyertakan repositori github berdasarkan URL mereka alih-alih POM mereka sendiri (yang tampaknya salah dalam kasus saya).
sumber
Saya memiliki masalah yang sama untuk sementara waktu dan meskipun melakukan
mvn -U clean install
masalah itu tidak terselesaikan!Saya akhirnya memecahkan masalah dengan menghapus seluruh
.m2
folder dan kemudian me-restart IDE saya dan masalahnya hilang!Jadi kadang-kadang masalah akan muncul karena beberapa ketidakcocokan atau masalah dalam repositori pakar lokal Anda.
sumber
Dalam kasus kami kesalahan muncul karena penggantian nama groupId salah sementara beberapa proyek dalam referensi konfigurasi multi-modul Maven kepada orang lain.
Kami memiliki proyek agregator (
billing-parent
) dengan dua modul (billing-api
,billing
):Proyek
billing
tergantung padabilling-api
. Jadi dipom.xml
dalamnya ada:Kami memutuskan untuk mengganti nama groupId dari
com.company.team
menjadicom.company.team.billing
. Kami mengganti nilai lama di indukpom.xml
dan di<parent>
bagian kedua modul. Tetapi lupa untuk memperbarui ketergantungan di atas. Jadi kami sudah mendapat konfigurasi di manabilling
proyek referensibilling-api
artefak tua . Akhirnya ia membangunbilling
modul setelah beberapa waktu dengan kesalahan seperti[ERROR] Failed to execute goal on project billing: Could not resolve dependencies for project com.company.team.billing:billing:jar:3.5.1-SNAPSHOT: Failed to collect dependencies at com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failed to read artifact descriptor for com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failure to find <parent of the com.company.team:billing-parent project which is not available any more>
terlepas dari kenyataan bahwa
billing-api
modul dibangun tanpa kesalahan.Solusi 1: ganti nama
groupId
didependency
juga.Solusi 2: ganti
groupId
dengan${project.groupId}
properti seperti ini:Kesimpulan. Jadi saran saya jika Anda mengalami kesalahan dalam konfigurasi multi-modul akan: memeriksa
groupId
danartifactId
ketergantungan pada modul tetangga.sumber
Navigasikan melalui shell di dalam folder proyek Anda dan jalankan perintah berikut:
Biasanya ini seharusnya sudah menyelesaikan masalah Anda.
Jika Anda melihat pesan seperti ini:
Kemudian jalankan:
diikuti oleh:
lagi untuk akhirnya memperbarui dependensi Anda.
Setelah itu lakukan build maven bersih:
sumber
Saya punya masalah serupa. Dalam kasus saya, versi testng di folder .m2 / repositori saya rusak, tetapi ketika saya menghapusnya & melakukan pembaruan pakar lagi, semuanya bekerja dengan baik.
sumber
Saya memiliki masalah ini dalam gerhana,
mvn -U clean install
tidak berfungsi tetapi mengklik kanan proyek dan memilih Maven-> Perbarui Proyek memperbaikinya.sumber
Saya baru mulai menggunakan STS Eclipse dengan pertama kali menggunakan Maven. Proyek yang saya setup sudah memiliki settings.xml sendiri. Jika ini masalahnya, Anda ingin memperbarui file settings.xml Anda dalam menjalankan konfigurasi.
klik kanan pom.xml dan "Run As" -> "Run Configurations ..."
di mana dikatakan "Pengaturan pengguna" klik pada tombol File dan tambahkan settings.xml.
Saya pikir ini khusus untuk proyek Anda tetapi "Tujuan" saya diatur ke "instalasi bersih" dan saya memeriksa "Lewati Tes."
sumber
Kesalahan ini pada dasarnya mengatakan bahwa maven tidak bisa membaca dependensi tertentu dari repositori lokal. Ini mungkin terjadi karena file jar tidak diunduh dengan benar. Jadi, buka repositori lokal pakar Anda dan pastikan tidak ada file ekstensi .lastUpdated .
sumber
Ini membantu saya:
Dari IDE (Red Hat CodeReady Studio dalam kasus saya).
Windows -> Tampilkan Tampilan -> Terminal -> Buka / Tambahkan terminal lokal
Jalankan perintah sebagai berikut>
$
cd /pom-file-path/
$
mvn -U clean install
sumber
Saya memecahkan masalah ini dengan mengubah pengaturan maven.xml dan repositori
sumber