Proyek Java di Eclipse: Jenis java.lang.Object tidak dapat diselesaikan. Ini secara tidak langsung direferensikan dari file .class yang diperlukan

209

Saya mendapatkan kesalahan berikut setelah mengimpor proyek di Eclipse:

Jenis java.lang.Object tidak dapat diselesaikan. Ini secara tidak langsung direferensikan dari file .class yang diperlukan

Namun, saya telah menetapkan path sebagai C: \ Program Files \ Java \ jdk1.6.0_41 di Eclipse Kepler, melalui Window »Preferences» Java »Install JREs .

Berlian biru
sumber
saya membuat "salin proyek" dan kesalahan hilang
Srinath Ganesh
Perilaku ini masih terjadi di Luna Service Release 2 (4.4.2). Solusinya di sini masih bisa menyelesaikan masalah.
fobia

Jawaban:

243

Ini adalah Eclipse Bug yang menjengkelkan yang sepertinya terus-menerus menggigit. Lihat http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html untuk solusi yang memungkinkan, jika tidak coba yang berikut ini;

  • Tutup proyek dan buka kembali.

  • Bersihkan proyek (Ini akan membangun kembali buildpath karenanya mengkonfigurasi ulang dengan perpustakaan JDK)

    ATAU

  • Hapus dan impor ulang proyek dan jika perlu lakukan langkah-langkah di atas lagi.

Obat yang lebih baik adalah dengan mencoba NetBeans daripada Eclipse :-)

Gyro Gearless
sumber
4
Sama disini. Bug Eclipse yang aneh. Tautan seperti yang dikatakan, menghapus pustaka JRE dari classpath proyek dan menambahkannya kembali memperbaiki masalah.
Felipe Leão
Oh untuk dunia yang tidak memiliki kontrak dengan IBM.
Zibbobz
1
Saya mengalami kesalahan pada proyek Android, bagi saya mengklik Alat Android -> Perbaiki Properti Proyek memperbaikinya.
Lorenz
@Zibbobz mengapa kita perlu kontrak dengan IBM. Saya masih tidak dapat menyelesaikan ini dengan IBM Java.
Anand
Saya ingin tahu apakah ini terkait ketika Anda mengubah variabel lingkungan JAVA_HOME? Saya telah mengubah variabel JAVA_HOME saya dan ini muncul. Saya baru saja menghapus / membaca perpustakaan JRE.
user2124871
222

Langkah-langkah berikut dapat membantu:

  1. Klik kanan pada proyek »Properties» Java Build Path
  2. Pilih Perpustakaan tab
  3. Temukan Perpustakaan Sistem JRE dan hapus
  4. Klik tombol Tambahkan Perpustakaan ... di sebelah kanan »Tambahkan Perpustakaan Sistem JRE (WorkREace default JRE)
Ripon Al Wasim
sumber
4
Dalam kasus saya itu terjadi karena saya tidak sengaja menghapus JRE saat mengimpor proyek [salah saya]. Ini memberi saya petunjuk untuk memperbaiki masalah ini.
GayashanNA
dalam kasus saya itu tidak ada sama sekali, jadi saya menambahkannya.
Muhammed Refaat
1
Meskipun ini berhasil dalam kasus saya, menyelesaikan 8 kesalahan tetapi memberi saya 33 kesalahan lagi!
Harsh Phoujdar
10

Inilah cara saya menyelesaikannya: Di Java-ADT: Windows - Preference - Java - Install JREs Cukup tambahkan JRE lain, arahkan ke folder 'jre' di bawah folder JDK Anda. (jre termasuk dalam jdk). Pastikan Anda memilih jre baru.

Andy Zhang
sumber
10

Ini terjadi pada saya ketika saya mengimpor proyek Java 1.8 dari Eclipse Luna ke Eclipse Kepler.

  1. Klik kanan pada proyek> Bangun jalur> konfigurasikan lintasan bina ...
  2. Pilih tab Libraries, Anda akan melihat Java 1.8 jre dengan kesalahan
  3. Pilih java 1.8 jre dan klik tombol Hapus
  4. Tambahkan Perpustakaan ...> Perpustakaan Sistem JRE> Selanjutnya> default ruang kerja> Selesai
  5. Klik OK untuk menutup jendela properti
  6. Buka menu proyek> Bersihkan ...> OK

Et voilà, itu berhasil untuk saya.

e18r
sumber
7

Kelas objek adalah kelas dasar untuk semua kelas di java, jika Anda melewatkan ini berarti Anda tidak memiliki jdk libs di buildpath Anda. Saya tidak tahu banyak tentang Kepler tetapi Anda harus memastikan itu menunjuk ke jdk yang benar untuk kompilasi dan jre yang benar untuk menjalankan aplikasi java Anda.

Namun saya telah menetapkan path sebagai C: \ Program Files \ Java \ jdk1.6.0_41 dari eclipse Kepler toolbar-> windows-> preferences-> java-> jre yang diinstal

Anda mencoba mengarahkan jdk alih-alih jre di preferensi Anda. toolbar-> windows-> preferensi-> java-> jre yang terinstal harus mengarah ke jre dan bukan jdk.

Juned Ahsan
sumber
Saya sudah mencoba dengan itu juga. Namun masih dalam kondisi kesalahan yang sama.
Blue Diamond
4

Tidak ada jawaban lain yang bekerja untuk saya. Tetapi melakukan ini berhasil:

  1. Klik kanan proyek di paket explorer.
  2. Sumber> Bersihkan ...
  3. Berikutnya> Selesai

Ketika saya melakukan ini, Eclipse menambahkan impor ke salah satu kelas saya. Saya pikir ini terjadi karena saya menyelamatkan proyek saya dengan impor yang hilang, mungkin bergegas pulang setelah bekerja.

Jack Pettinger
sumber
terima kasih .. berfungsi ... tolong jelaskan padaku cara kerjanya?
Singh Arjun
@ SinghArjun Saya tidak yakin tapi saya pikir ini terjadi ketika proyek disimpan dengan impor yang hilang.
Jack Pettinger
4

Apakah Anda sudah menginstal versi JRE yang berbeda setelahnya, saat menggunakan versi JRE sebelumnya di Eclipse.

jika Tidak dari:

  1. Klik kanan pada proyek Anda -> Build Path -> Configure Build Path
  2. Buka tab 'Perpustakaan'
  3. Tambahkan Library -> JRE System Library -> Next -> JRE default Workspace (atau Anda dapat Pilih Alternatif JRE dari Sistem Anda) -> Finish

jika Ya dari.

  1. Klik kanan pada proyek Anda -> Build Path -> Configure Build Path
  2. Buka tab 'Perpustakaan'
  3. Hapus Versi Sebelumnya
  4. Tambahkan Library -> JRE System Library -> Next -> JRE default Workspace (atau Anda dapat Pilih Alternate JRE dari Sistem Anda) -> Finish
Gaurav Varshney
sumber
4

Tidak ada jumlah pembersihan, penutupan / pembukaan kembali proyek & IDE, menghapus / menambahkan JRE di jalur build berfungsi untuk saya.

Solusi yang saya temukan adalah menghapus proyek dari Eclipse (bukan dari disk), menghapus file proyek Eclipse dari disk, dan mengimpor ke Eclipse lagi. Itu berhasil.

Bahkan lebih cepat jika Anda menggunakan Maven:

  1. Tutup Eclipse (tidak perlu menghapus proyek)
  2. Lari mvn clean eclipse:clean eclipse:eclipse
  3. Buka Eclipse. Proyek Anda masih ada dan masalahnya harus hilang.
Nicolas Raoul
sumber
3

Masalah lain bisa jadi bahwa Target Proyek Android Build tidak ditetapkan.

  1. Klik kanan proyek
  2. Pilih Properti
  3. Klik Android
  4. Centang Target Pembangunan Proyek yang sesuai
  5. Terapkan | baik
satyrFrost
sumber
3

Klik kanan pada proyek -> Tampilkan di Navigator Pada tampilan navigator Anda dapat melihat file .classpath, lakukan hapus file ini dan bangun proyek. Ini berhasil untuk saya. PS. Jika Anda telah mengintegrasikan proyek eclipse Anda dengan beberapa kontrol versi seperti perfoce / svn, maka membatalkan tautan proyek sebelum Anda menghapus .classpath akan sangat membantu.

Sankalp
sumber
2

Saya menghadapi masalah ini dengan aplikasi play-java di eclipse setelah menambahkan controller, saya menghapus dan menginstal ulang JRE melalui build path dan kemudian menghapus dan mengimpor proyek saya yang memecahkan masalah ini secara otomatis. Terima kasih gyro.

pengguna989383
sumber
Ini sama dengan jawaban Ripon Al Wasim, kan?
Nicolas Raoul
2

Ini tampaknya menjadi bug Eclipse, meskipun memulai ulang Eclipse bekerja sangat baik untuk saya, semoga ini membantu orang lain juga.

Arturas M
sumber
2

Yang memecahkan masalah saya adalah

1) Instal direktori jdk di bawah tanpa spasi:

C:/Java

Dari pada

C:/Program Files/Java

Ini adalah masalah yang diketahui di Windows. Saya memperbaiki JAVA_HOMEjuga

2) Saya java 7 dan java 8 di laptop saya. Jadi saya mendefinisikan jvm menggunakan eclipse.ini. Ini bukan langkah wajib jika Anda tidak memiliki -vmentri di eclipse.ini. Saya memperbarui:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

Dari pada:

C:/Java/jdk1.7.0_79/bin/javaw.exe

Semoga berhasil

KerenSi
sumber
1

Saya punya masalah yang sama di jendela gerhana yang saya tidak bisa menambahkan file .class tergantung dari JNI. Untuk mengatasi hal yang sama, saya mem-porting semua kode ke NetBeans IDE.

Tidak dapat menambahkan semua file kelas dari folder JNI / JNA di Eclipse (JAVA, Windows 7)

Jyo the Whiff
sumber
Mengapa itu memilih? Lihat saya memang mencoba semua solusi yang mungkin, masih tidak bisa menyelesaikan masalah dan kemudian saya porting kode ke NetBeans. Saya menjawab ini karena jika ada yang macet, dalam kasus terburuk, dia mungkin akan mendapatkan bantuan.
Jyo the Whiff
Anda mungkin benar tetapi bagi saya JNI / JNA bekerja dengan baik (untuk gerhana - 4.9.0) setelah menghapus perpustakaan yang ada dan mengatur perpustakaan jre default, proyek tutup, proyek terbuka.
Ajay Kumar
1

Sementara kami bekerja dengan versi tomcat 6 dan jdk 1.8, beberapa fitur tidak akan berfungsi dan kesalahan yang Anda dapatkan adalah salah satunya. Anda perlu mengubah versi jdk ke versi stabil (lebih disukai jdk 1.6 atau jdk 1.8_65) dalam gerhana untuk menyelesaikan kesalahan ini.

pada langkah gerhana 1: properti -> jalur pembuatan java -> perpustakaan sistem jre (hapus) langkah 2: tambahkan -> perpustakaan sistem jre -> jre alternatif -> instalasi jre -> tambah -> Standar VM -> (di rumah jre, tempatkan jdk path) -> selesai

sekarang bersihkan dan periksa proyeknya

NSetty
sumber
1

Saya mendapatkan kesalahan ini karena saya telah menginstal "Eclipse IDE untuk Enterprise Java Developers", saya uninstall ini dan menginstal "Eclipse IDE for Java Developers". Masalah terpecahkan bagi saya.

RVR
sumber
0

Terjadi pada saya setelah saya menginstal beberapa pembaruan dalam gerhana tetapi lupa untuk memulai kembali setelah itu. Jadi mungkin memulai kembali gerhana mungkin membantu.

NotX
sumber
Saya mencoba melakukan itu, tetapi saya belum diperbolehkan menulis komentar.
NotX
0

Namun sepele ini mungkin, periksa instalasi Java Anda. Bagi saya, rt.jar hilang .

Saya menemukan ini setelah mengutak-atik setengah hari dengan pengaturan Eclipse dan tidak mendapatkan apa-apa. Putus asa, saya akhirnya memutuskan untuk mencoba mengkompilasi proyek dari baris perintah. Saya tidak berharap melihat sesuatu yang salah karena saya pikir ini adalah masalah Eclipse tetapi saya heran melihat ini:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Saya tidak tahu apa yang terjadi pada instalasi Java saya dan ke mana rt.jar pergi. Bagaimanapun ini datang sebagai pengingat untuk pergi melalui daftar periksa gagal dan centang semua kotak tidak peduli betapa sulitnya mereka. Itu akan menyelamatkan saya banyak waktu.

Nikola Kolev
sumber
0

Ini bekerja untuk saya setelah menghapus centang 'Pengguna' - opsi releae 'di gerhana Java-compiler

Pada langkah gerhana 1: properties -> java Complier -> uchecking 'User' --releae option 'option -> finish

Java versi 13.0.1 Versi Eclipse: Eclipse IDE untuk Enterprise Java Developers.

poovaraj
sumber
0

Klik kanan pada proyek, pilih Maven -> Perbarui proyek. Itu harus menyelesaikan masalah.

Morpheus
sumber
melakukan eclipse -> maven -> pembaruan harus menjadi salah satu langkah saat pemecahan masalah.
Vaibs
0

Dalam kasus saya itu adalah proyek modular besar dan ' X merah ' hanya ditampilkan di proyek induk. Saya pergi ke proyek induk

Properties -> Path Dibangun

a menghapus JRE Library di sana, hanya saja, tidak ada JRE Library di proyek induk lagi.

Francisco Souza
sumber
0

Tidak ada solusi yang berhasil untuk saya. Dalam kasus saya masalahnya adalah bahwa saya memiliki beberapa kode Java yang menghasilkan .javafile dan saya tidak sengaja membuat file yang disebut Class.java(konten tampaknya tidak masalah). Menghapus file memperbaiki masalah.

HappyEvilSlosh
sumber