Eclipse: Dependensi pencarian Maven tidak berfungsi

91

Saya membuat proyek Maven sederhana baru di Workspace baru.

Ketika saya membuka pom.xml's Dependenciestampilan di Eclipse editor, dan saya memilih Add..ketergantungan, tidak ada hasil pencarian tidak peduli apa mencari kriteria saya masukan di bidang pencarian:

Ini langsung memberi saya, misalnya Results for 'spring' (0),.

Di ruang kerja saya yang lain, dengan proyek saya yang sudah ada, saya tidak memiliki masalah ini.

Apakah ada cara untuk memperbaikinya ?

Majid Laissi
sumber
3
Saya yakin ada solusi di tautan berikut: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Jawaban:

187

Pencarian artefak Eclipse bergantung pada file indeks repositori. Sepertinya Anda tidak mengunduh file indeks.

Pergi ke Window -> Prefrences -> Maven dan centang "Unduh pembaruan indeks repositori saat mulai" . Mulai ulang Eclipse lalu lihat tampilan kemajuan. File indeks harus diunduh.

Setelah mengunduh sepenuhnya, pencarian artefak akan siap digunakan.

Pengaturan Maven

PEMBARUAN Anda juga perlu membangun kembali indeks repositori Maven Anda di 'tampilan repositori maven'.

Dalam tampilan ini, buka 'Global Repositories', klik kanan 'central', centang 'Full Index Enable', lalu klik 'Rebuild Index' di menu yang sama.

File indeks 66M akan diunduh.

Maven Repositories -> Rebuild Index

Xiujun Ma
sumber
4
Jendela-> Preferensi-> Maven
McLovin
5
pembaruan repositori saat restart membutuhkan banyak waktu, tidak tahu apakah selesai atau tidak juga, ada alternatif lain?
Vasanth Nag KV
5

Dalam gerhana Anda, buka Windows -> Preferensi -> Maven Preferensi Screenshot Maven Centang opsi "Unduh pembaruan indeks repositori saat startup". Anda mungkin ingin memulai kembali gerhana.

Juga pergi ke Windows -> Show view -> Other -> Maven -> Maven repositories Tangkapan Layar Tampilan Repositori Maven

Pada panel repositori Maven, Perluas repositori Global lalu klik kanan pada repositori Pusat dan centang opsi "Indeks penuh diaktifkan" dan kemudian klik "Bangun kembali indeks" .

Screenshot Indeks Penuh

Hetal Rachh
sumber
1
Bagaimana jawaban Anda menambahkan sesuatu pada jawaban yang diterima sebelumnya oleh Xiujun Ma? Seolah-olah Anda telah menyalin jawaban itu tetapi mengubahnya kembali. Bahkan tangkapan layar dalam jawaban Anda hampir identik dengan jawaban yang diterima!
skomisa
@skomisa Saya belum menyalin jawabannya sama sekali. Saya menjawab ini ketika saya benar-benar menghadapi masalah ini. Juga screenprints dari pekerjaan saya. Menyalin dan menempel jawaban tidak masuk akal di stackoverflow. Dan jika saya akan menyalin dan menempelkannya, saya akan menjawab ribuan pertanyaan yang saat ini belum saya jawab.
Hetal Rachh
1
Oke, tetapi jawaban Anda hanya mengulangi informasi yang diberikan dalam jawaban yang diterima.
skomisa
4

Anda bisa mendapatkan hasil ini jika Anda berada di dalam proxy perusahaan dan proyek baru tidak mengarah ke file settings.xml yang benar dengan kredensial proxy.

Anda juga bisa mendapatkan ini jika Anda menggunakan proxy Maven (Nexus, misalnya) dan indeks ke proxy tersebut entah bagaimana kacau. Saya tidak tahu cara menjelaskan cara memperbaikinya. Bermain-main dengan itu atau hubungi orang yang mengatur proxy Maven.

Anda juga bisa mendapatkan ini jika ruang kerja baru belum mengunduh indeks baik dari pusat Maven atau dari proxy. (Ini yang terbaik karena Anda hanya perlu menunggu sebentar dan itu akan berhasil dengan sendirinya.)

Lee Meador
sumber
sebenarnya saya memiliki dua ruang kerja yang terbuka (dalam dua gerhana berbeda), di salah satunya berfungsi dan bukan yang lain, jadi itu bukan masalah proxy atau koneksi internet. Dan tidak ada file setting.xml di kedua ruang kerja .. Saya pikir Anda mungkin benar tentang indeks yang diunduh, tetapi saya tidak tahu cara mengunduhnya (saya telah mengalami masalah ini sejak kemarin jadi tidak ada gunanya menunggu)
Majid Laissi
1
Saya menggunakan MyEclipse dan preferensinya mungkin berbeda dari Anda. Tetapi saya memiliki tombol yang bisa Anda akses dengan window> preferensi> MyEclipse> Maven4MyEclipse> Pengaturan Pengguna. Tombol tersebut berlabel "Reindex" dan jika Anda mengkliknya, mungkin membantu. Ada gambar dan info lebih lanjut di sini: (klik)
Lee Meador
BTW - settings.xml adalah file yang ditemukan di folder .m2 di folder pengguna Anda. (Windows 7 adalah c: \ Users \ YourName \ .m2, Linux adalah ~ / .m2) dan dapat menyimpan informasi global untuk beberapa ruang kerja. Halaman preferensi yang sama memungkinkan Anda memilihnya.
Lee Meador
Terima kasih atas waktu Anda. Saya telah mencobanya tanpa hasil, tetapi Reindex hanya akan mengindeks ulang repositori maven lokal saya (libs yang sudah saya miliki)? Dan untuk file settings.xml, tidak ada di kedua ruang kerja, (preferensi Eclipse / referensi pengaturan pengguna C:\Users\XX\.m2\settings.xmldan mengatakan User settings file doesn't exist) dan itu adalah hal yang sama untuk kedua ruang kerja, jadi saya kira itu tidak penting.
Majid Laissi
info http://maven.apache.org/settings.html tentang apa yang ada di file. Selama tidak ada proxy, tanpa kata sandi, dan semua yang Anda butuhkan ada di Maven Central, Anda dapat bertahan tanpa satu pun.
Lee Meador
4

Bagi saya untuk masalah ini berhasil:

  • hapus ~ / .m2
  • aktifkan "Indeks Penuh Diaktifkan" dalam tampilan repositori maven pada repositori pusat
  • "Bangun Ulang Indeks" di repositori maven pusat

Setelah gerhana, restart semuanya bekerja dengan baik.

Pavel
sumber
3

Dependensi maven add sebenarnya dari indeks maven. Jika indeksnya mutakhir, hasilnya harus dari sana.

Jika Anda pergi ke repositori maven, lalu pilih repositori global, Anda akan melihat tab ... pusat, dan memilih itu, harus ada daftar folder, dan Anda akan dapat melihat semua indeks dari sana. Jika tidak, berarti Anda tidak mendapatkan indeks penuh, maka Anda dapat mengklik kanan itu dan mengaktifkan indeks penuh.

Hal lain yang paling membuat saya kesal adalah bahkan saya melakukan segalanya, masih tidak menunjukkan apa pun saat saya mengetik "musim semi". Di sinilah sebenarnya saya melakukan kesalahan. Jika Anda hanya mengetik beberapa teks tambahan "springframework", BOOM, hasilnya ada di sana.

Tian Hu
sumber
1

Saya memiliki masalah yang sama. Tidak ada opsi yang disarankan di atas yang berhasil untuk saya. Namun saya menemukan, bahwa jika saya katakan secara manual tambahkan groupid / artifact / version untuk org.springframework.spring-core versi 4.3.4. LEPAS dan simpan pom.xml, dependensi diunduh secara otomatis dan pencarian berfungsi untuk toples yang sudah ada di dalam repositori. Namun jika saya sekarang mencari konteks org.springframework.spring, yang tidak ada dalam dependensi saat ini, pencarian ini masih tidak berfungsi.

arpi
sumber
0

Gunakan https://search.maven.org/ secara manual dengan prefiks fc: untuk mencari nama kelas. Baik Netbeans dan Eclipse tampaknya terlalu bodoh untuk menggunakan antarmuka pencarian itu dan gigabyte indeks repositori yang diunduh tampaknya tidak berisi informasi kelas apa pun. Total pemborosan ruang disk. Proyek IDE tersebut tidak dirawat dengan baik belakangan ini, saya berharap mereka akan memindahkan pengembangan ke GitHub.

pengguna1050755
sumber
0

ID Grup dan Id Artefak diperlukan untuk mengunduh file jar yang Anda butuhkan. Jika Anda ingin mencarinya cukup gunakan *, * untuk bidang ini.

Sati
sumber