Cara memperbaiki kesalahan "Memperbarui Proyek Maven". Jenis IClasspathEntry yang tidak didukung = 4?


412

Saya telah mengimpor proyek pakar di STS, ketika saya menjalankan proyek pembaruan pembaruan yang saya terima:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

Apakah ada solusi untuk ini?


Apakah build on command line berfungsi? Versi Maven yang mana?
khmarbaise

Saya memiliki masalah yang sama dan saya tidak sanggup dengan jawaban ini dapatkah Anda melihat stackoverflow.com/questions/12049566/…
Hemant Metalia

Jawaban:


613

Masalah ini telah diperbaiki di m2e 1.5.0 yang tersedia untuk Eclipse Kepler (4.3) dan Luna (4.4)

Silakan lihat https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14

Masalahnya disebabkan oleh fakta bahwa STS (Spring IDE / Eclipse), juga Eclipse dan IDE berbasis Eclipse lainnya, menggunakan plugin m2e (clipse) tetapi eclipse: eclipse mungkin telah dijalankan pada proyek. Ketika m2e menemukan entri .clar "var", ia melempar kesalahan ini.

Situs pembaruan ditentukan di url berikut:
http://eclipse.org/m2e/m2e-downloads.html

Jika Anda tidak dapat menggunakan m2e 1.5.0 dengan alasan apa pun, maka:

  1. Nonaktifkan sifat pakar untuk proyek (melalui menu klik kanan)

  2. Jalankan mvn eclipse:clean(saat proyek Anda terbuka di STS / gerhana). Tergantung pada waktunya, Anda mungkin perlu melakukan satu atau dua penyegaran pada proyek sebelum mengaktifkan kembali sifat pakar. Anda harus dapat melihat bahwa proyek Anda telah kehilangan sifatnya Maven. ( eclipse:cleanTujuannya hanya menghapus .project, .classpathdan .settings/file / direktori. Anda juga dapat menghapus file-file itu (lagi saat proyek terbuka ) alih-alih berjalan mvn eclipse:clean.)

  3. Aktifkan kembali sifat maven.
    (Sebagian besar waktu, ini dapat dilakukan dengan mengklik kanan pada proyek yang bersangkutan di panel paket explorer, dan kemudian memilih 'Konfigurasi' -> 'Konversi ke Proyek Maven')


3
Saya harus mencoba ini dua kali untuk membuatnya bekerja. Pertama kali saya mencobanya, "var" merayap kembali ke file .classpath. Saya membuat ulang file dengan mvn eclipse: eclipse dan mencoba lagi. Ini berhasil kedua kalinya.
Deepak Bala

1
Mungkin membantu menghapus secara manual dari semua file .classpath classpathentrydengan kindatribut diatur ke var.
Puigcerber

31
Ini bekerja untuk saya, tetapi saya harus melakukan "Refresh" tambahan sebelum mengaktifkan kembali sifat Maven (sebenarnya dalam kasus saya "Konfigurasi sebagai Proyek Maven" karena itu adalah proyek segi)
Stuart Watt


2
Saya pikir Anda salah memilih versi Eclipse: Eclipse Kepler adalah 4.3 dan Luna 4.4
vogella

63
  1. Klik kanan pada proyek Anda, pilih Maven -> Hapus Maven Nature.

  2. Buka terminal Anda, buka folder proyek Anda dan lakukan mvn eclipse:clean

  3. Klik kanan pada Proyek Anda dan pilih "Configure -> Convert into Maven Project"

Sekarang Anda mendapatkan "Jenis IClasspathEntry tidak didukung = 4 Eclipse Scala" menghilang.


5
Terima kasih untuk ini. Hanya catatan untuk orang lain, mvn eclipse:cleanbukan, mvn clean(aku tertipu karena tidak memperhatikan).
Jin Kim

Baik. Saya telah membuat src / java dari cmd line, setelah mengimpor proyek ke Kepler. Itu yang terjadi.
Zbyszek

43

Terkadang, bahkan mengimpor kembali proyek Maven tidak akan berhasil. Memperbarui proyek dengan benar dalam gerhana bukanlah proses deterministik. Satu-satunya prosedur 100% gagal aman yang saya temukan adalah:

  1. Nonaktifkan Maven Nature, jalankan mvn eclipse:clean, restart, silangkan jari Anda dan Berdoa 3 kali.
  2. Jika ini tidak berhasil, hapus proyek, jalankan mvn eclipse:clean, impor kembali penyegaran, berdoa dan gunakan kekuatan .
  3. Jika ini masih tidak berhasil, mulai ulang Eclipse , atau bahkan komputer Anda lebih baik . Sambil menunggu reboot, Anda dapat memberikan donasi acak untuk memperbaiki Karma Anda. Ulangi langkah 2 dan jangan lupa berdoa dan kendalikan amarah Anda. Kemarahan menyebabkan kebencian. Benci menyebabkan penderitaan.
  4. Coba semua jawaban lain yang diposting di utas ini. Anda mungkin perlu mencoba semuanya setidaknya 3 kali sebelum menyerah.
  5. Format Komputer Anda, instal ulang Eclipse dan Maven . Tidak perlu berdoa lagi, toh semua dewa membencimu
  6. Hapus proyek git Anda, bakar drive fisik yang menyimpan repositori jarak jauh, dan tulis proyek Anda dari awal.
  7. Temukan mesin waktu , bepergian ke masa lalu dan yakinkan diri Anda untuk mengikuti karir lain yang bukan pemrograman atau setidaknya untuk menghindari Java

3
Sudah mencoba semuanya, terus katakan "Masalah Manajemen Ketergantungan Maven" atau "NullPointerException"
srirachapills

1
Tetap Tenang dan Mulai Ulang Undo Ulangi
yannicuLar

1
Apa yang pernah dilakukan Java kepada Anda?
Mesin Cuci Jahat

2
@EvilWashingMachine Tidak ada yang buruk benar-benar .. Baru saja mencoba membuat alasan untuk membenarkan menggunakan mesin waktu
yannicuLar

1
Tetap tenang dan gunakan terminal vim +
Pratik Singhal

12
  1. Pastikan versi plugin m2e (clipse) yang Anda jalankan setidaknya 1.1.0

  2. Tutup proyek pakar - klik kanan "Tutup Proyek"

  3. Secara manual menghapus semua classpathentry dengan kind = "var" di file .classpath
  4. Proyek terbuka

atau

  1. Hapus proyek pakar
  2. Buka manual .classpath 4 Masukkan kembali proyek

Kesalahannya bukan pada STS seperti yang dinyatakan oleh @Marco. Ini adalah masalah m2e umum. Nonaktifkan sifat Maven, hapus file .classpath, aktifkan kembali sifat Maven.
sbzoom

6

Sudahkah Anda mencoba:

  1. Jika Anda memiliki proyek impor ke gerhana 4, harap hapus itu.
  2. Di maven consol, jalankan: mvn eclipse: clean
  3. Dalam Eclipse 4: File -> Impor -> Maven -> Proyek Maven yang Ada

1
sebelum melakukan ini, pastikan plugin maven eclipse belum pernah berjalan di proyek sebelumnya. mvn eclipse: clean akan memperbaikinya jika diperlukan.
AChoice

3
Ini bekerja lebih baik untuk saya di Juno. Saya menghapus proyek di Eclipse, dan kemudian diimpor kembali.
cs94njw

Tidak ada efek di Eclipse Kepler
Zbyszek

3

Melihat semua jawaban lain. Saya menemukan cara yang lebih sederhana bagi saya.

Saya baru saja menghapus semua baris di .classpath (mengedit dengan eclipse) yang berisi proyek var dan digunakan maven -> update tanpa kesalahan.


Ini bekerja untuk saya, juga perlu menghapus garis "stoples" yang berisi stoples.
dwjohnston

2

Kesalahan ini juga terjadi jika perintah pembaruan digunakan pada proyek yang diinstrumentasi untuk cakupan kode dengan Clover.

Untuk mengatasi dalam skenario ini: Hapus instrumen folder proyek yang ingin Anda perbarui. Jalankan pembaruan pakar lalu instrumen untuk cakupan kode lagi.


0

Saya mencoba langkah Marco tetapi tidak berhasil. Alih-alih jika Anda hanya mendapatkan plugin m2e terbaru dari tautan yang disediakannya dan satu per satu klik kanan pada setiap proyek -> Maven -> Perbarui Ketergantungan kesalahan masih muncul tetapi masalah teratasi. Dengan kata lain peringatan menghilang di tampilan Penanda. Saya mengalami masalah ini setelah mengimpor beberapa proyek ke SpringSource Tool Suite (STS). Ketika saya kembali ke instalasi Eclipse Juno saya, peringatan itu muncul. Melihat bahwa saya sudah menginstal m2e 1.1, saya mencoba langkah Marco tanpa hasil. Namun, mendapatkan versi terbaru memperbaikinya.


1
Terima kasih, edit jawaban saya untuk menekankan bahwa Anda harus mendapatkan versi terbaru, bukan hanya 1.1.0 yang pada saat itu adalah versi terbaru.
Marco

Jika Anda menggunakan Eclipse MarketPlace alih-alih mengunduh melalui situs eksternal, Anda akan selalu mendapatkan versi terbaru.
Jop

0

Saya tidak bisa mendapatkan mvn eclipse: clean dll untuk bekerja dengan Kepler.

Namun saya mengubah membuat dan memperluas variabel hanya menggunakan guci eksternal di classpath gerhana saya. Ini tercermin dalam no var di .classpath saya.

Ini memperbaiki masalah. Saya dapat melakukan pembaruan Maven.


0

Masalah ini ( https://bugs.eclipse.org/394042 ) diperbaiki dalam m2e 1.5.0 yang tersedia untuk Eclipse Kepler dan Luna dari repo p2 ini:

http://download.eclipse.org/technology/m2e/releases/1.5

Jika Anda juga menggunakan m2e-wtp, Anda harus menginstal m2e-wtp 1.1.0 juga:

http://download.eclipse.org/m2e-wtp/releases/luna/1.1


Tautan pertama menghasilkan "Maaf, halaman atau file tidak dapat ditemukan. Berikut adalah beberapa alasan mengapa ..."
Jaroslav Záruba

Alasan # 1 berlaku di sini: Ini adalah repositori Eclipse Update site / p2; Anda harus mengaksesnya dari Eclipse (lihat help.eclipse.org/luna/index.jsp?topic=//… ).
Fred Bricon

0

Upgrade dari Kepler ke Luna bekerja untuk saya.

Saya baru saja menambahkan beberapa komponen untuk dukungan Java 1.8. Tampaknya mereka di mana tidak kompatibel seperti yang saya inginkan atau bahwa saya mencampur yang salah. Itu benar-benar menyebabkan banyak masalah. Mencoba memperbarui sistem melaporkan kesalahan karena mereka tidak dapat memenuhi beberapa dependensi. Pembaruan Maven tidak berfungsi. Mencoba banyak hal.

Jadi, jika tidak ada alasan untuk menghindari peningkatan, tambahkan saja repositori luna ke situs perangkat lunak yang tersedia (Luna http://download.eclipse.org/releases/luna/ ) dan "periksa pembaruan". Lebih baik memiliki semua komponen dengan versi yang sama dan ada beberapa fitur baru yang bagus.


0

Saya mencoba semua langkah yang disebutkan di sini dan pada pertanyaan serupa tetapi tidak bisa menyelesaikan masalah ini. Saya tidak bisa menyelesaikan masalah atau memperbarui m2eclipse saya. Jadi saya menginstal Eclipse Luna dan itu memecahkan masalah saya ... meskipun itu berarti bahwa saya harus menghabiskan sekitar 45 menit untuk mengkonfigurasi semua lingkungan di ruang kerja saya.


0

Coba bersihkan instal eclipse: eclipse -Dwtpversion = 2.0 perintah pada DOS command prompt. Menyarankan Anda karena, itu berhasil untuk saya !!


0

Saya menggunakan Eclipse 4.3.2 (Kepler) dengan M2E 1.4.x dan merasakan masalah ini beberapa kali!

Dalam kasus saya, perintah "mvn eclipse: eclipse" juga menghasilkan konfigurasi Checkstyle, PMD dan Findbugs sehingga "mvn eclipse: clean" tidak membantu saya karena ia menjatuhkan semua file konfigurasi lagi.

Solusi terbaik bagi saya adalah menghapus semua file ".classpath":

find . -name ".classpath" -delete

dan mengimpor proyek ke gerhana sesudahnya.


0

Sebelum mengimpor proyek, itu harus dikonversi menjadi proyek gerhana mvn gerhana: gerhana Kemudian saya menemukan kesalahan berikut. Kesalahan internal terjadi selama: "Mengimpor proyek Maven". Jenis IClasspathEntry yang tidak didukung = 4

Di mana nilai kind = "var" yang tidak dikenali M2E dan karena itu melempar kesalahan.

Sekarang ketikkan ini. mvn eclipse: bersih

Sekarang segarkan proyek dalam gerhana atau impor ulang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.