Eclipse içindeki Java projesi: java.lang.Object türü çözümlenemiyor. Gerekli .class dosyalarından dolaylı olarak başvurulur


209

Eclipse'de bir projeyi içe aktardıktan sonra aşağıdaki hatayı alıyorum:

Java.lang.Object türü çözümlenemiyor. Gerekli .class dosyalarından dolaylı olarak başvurulur

Ancak, yolu Eclipse Kepler'de C: \ Program Files \ Java \ jdk1.6.0_41 olarak Pencere »Tercihler» Java »Yüklü JRE'ler olarak ayarladım .


"kopya projesi" yaptım ve hata kayboldu
Srinath Ganesh

Davranış hala Luna Service Release 2'de (4.4.2) görülmektedir. Buradaki çözüm yine de sorunu çözebilir.
fobik

Yanıtlar:


243

Bu sinir bozucu bir Tutulma Böceği, zaman zaman ısırıyor gibi görünüyor. Olası bir çözüm için http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html adresine bakın , aksi takdirde aşağıdakileri deneyin;

  • Projeyi kapatın ve yeniden açın.

  • Projeyi temizle (JDK kitaplıklarıyla yeniden yapılandırılması için oluşturma yolunu yeniden oluşturur)

    VEYA

  • Projeyi silin ve yeniden içe aktarın ve gerekirse yukarıdaki adımları tekrarlayın.

Daha iyi tedavi Eclipse yerine NetBeans denemek :-)


4
Burada aynı. Tuhaf Eclipse hatası. Bağlantıda belirtildiği gibi, JRE kitaplığını projenin sınıfyolundan kaldırmak ve yeniden eklemek sorunu giderir.
Felipe Leão

Oh, IBM ile sözleşmesi olmayan bir dünya için.
Zibbobz

1
Bir Android projesinde bu hatayı aldım, benim için Android Araçları -> Proje Özelliklerini Düzelt'i tıklattım.
Lorenz

@ Zibbobz neden IBM ile sözleşme yapmamız gerekiyor? Bunu hala IBM Java ile çözemiyorum.
Anand

JAVA_HOME ortam değişkenini değiştirdiğinizde bununla ilgili olup olmadığını merak ediyorum? JAVA_HOME değişkenimi değiştirmiştim ve bu ortaya çıktı. JRE kütüphanesini kaldırdım / okudum.
user2124871 23:16

221

Aşağıdaki adımlar yardımcı olabilir:

  1. Projeye sağ tıklayın »Özellikler» Java Derleme Yolu
  2. Kitaplıklar sekmesini seçin
  3. JRE Sistem Kütüphanesini bulun ve kaldırın
  4. Sağ taraftaki Kitaplık Ekle ... düğmesine tıklayın »JRE Sistem Kütüphanesini Ekle (Çalışma alanı varsayılan JRE)

4
Benim durumumda bu proje [benim hatam] alırken yanlışlıkla JRE kaldırıldı çünkü oldu. Bu, sorunu düzeltmem için bir ipucu verdi.
GayashanNA

benim durumumda hiç yoktu, bu yüzden ekledim.
Muhammed Refaat

1
Bu benim durumumda çalıştı, ancak 8 hata çözdü ama bana 33 verdi!
Sert Phoujdar

10

Bunu şu şekilde çözdüm: Java-ADT'de: Windows - Tercih - Java - Yüklü JRE'ler JDK klasörünüzün altındaki 'jre' klasörünü işaret ederek başka bir JRE ekleyin. (jre jdk'ye dahil edilmiştir). Yeni jre'yi seçtiğinizden emin olun.


10

Eclipse Luna'dan Eclipse Kepler'e bir Java 1.8 projesi içe aktardığımda bu oldu.

  1. Proje> Oluşturma yolu> oluşturma yolunu sağ tıklayın ...
  2. Kütüphaneler sekmesini seçin, Java 1.8 jre'yi hatayla görmelisiniz
  3. Java 1.8 jre'yi seçin ve Kaldır düğmesine tıklayın
  4. Kitaplık Ekle ...> JRE Sistem Kütüphanesi> Sonraki> varsayılan çalışma alanı> Son
  5. Özellikler penceresini kapatmak için Tamam'ı tıklayın
  6. Proje menüsü> Temizle ...> Tamam seçeneğine gidin

Et voilà, bu benim için çalıştı.


7

Nesne sınıfı, java'daki tüm sınıflar için temel sınıftır, eğer bu eksikse, derlemenizde jdk kütüphaneleri olmadığı anlamına gelir. Kepler hakkında çok şey bilmiyorum ama derleme için doğru bir jdk'ye ve java uygulamalarınızı çalıştırmak için doğru bir jre'ye işaret ettiğinden emin olmanız gerekir.

Ancak yolu eclipse Kepler araç çubuğundan C: \ Program Files \ Java \ jdk1.6.0_41 olarak ayarladım-> windows-> tercihler-> java-> yüklü jre

Tercihlerinizde jre yerine jdk'yi göstermeye çalışıyorsunuz. araç çubuğu-> windows-> tercihler-> java-> kurulu jre jdk değil bir jre işaret etmelidir.


Ben de bunu denedim. Ama yine de aynı hata durumunda.
Blue Diamond

4

Diğer cevapların hiçbiri benim için işe yaramadı. Ancak bunu yapmak:

  1. Paket gezgininde projeye sağ tıklayın.
  2. Kaynak> Temizle ...
  3. Sonraki> Bitir

Bunu yaptığımda Eclipse derslerimden birine bir ithalat ekledi. Bunun gerçekleştiğini düşünüyorum çünkü projemi eksik bir ithalatla kurtardım, muhtemelen işten sonra eve dönmek için acele ettim.


teşekkürler .. çalışıyor ... lütfen bana nasıl çalıştığını açıkla?
Singh Arjun

@SinghArjun Emin değilim ama bu proje eksik bir ithalat ile kaydedildiğinde düşünüyorum.
Jack Pettinger

4

Eclipse'de önceki JRE sürümünü kullanırken farklı bir JRE sürümü yüklediniz mi?

Değilse:

  1. Projenize sağ tıklayın -> Yol Oluştur -> Oluşturma Yolunu Yapılandır
  2. 'Kütüphaneler' sekmesine gidin
  3. Kitaplık Ekle -> JRE Sistem Kütüphanesi -> İleri -> Çalışma alanı varsayılan JRE (veya Sisteminizden Alternatif JRE'yi seçebilirsiniz) -> Son

Evet ise.

  1. Projenize sağ tıklayın -> Yol Oluştur -> Oluşturma Yolunu Yapılandır
  2. 'Kütüphaneler' sekmesine gidin
  3. Önceki Sürümü Kaldır
  4. Kitaplık Ekle -> JRE Sistem Kütüphanesi -> Sonraki -> Çalışma alanı varsayılan JRE (veya Sisteminizden Alternatif JRE'yi seçebilirsiniz) -> Son

4

Proje yolundaki temizlik, kapatma / yeniden açma, JRE'yi kaldırma / ekleme yolunda benim için işe yaramadı.

Bulduğum çözüm, projeyi Eclipse'den (diskten değil) kaldırmak, projenin Eclipse dosyalarını diskten kaldırmak ve Eclipse'a tekrar aktarmaktı. İşe yaradı.

Maven kullanıyorsanız daha da hızlıdır:

  1. Eclipse'i kapatın (projeyi kaldırmanıza gerek yok)
  2. Çalıştırmak mvn clean eclipse:clean eclipse:eclipse
  3. Eclipse'i açın. Projeniz hala mevcut ve sorun gitmiş olmalı.

3

Başka bir sorun, Android Proje Oluşturma Hedefinin ayarlanmamış olması olabilir.

  1. Projeyi sağ tıklayın
  2. Özellikler seçin
  3. Android'i tıklayın
  4. Uygun Proje Oluşturma Hedefini işaretleyin
  5. Uygula | tamam

3

Projeye sağ tıklayın -> Gezgin'de Göster Gezgin görünümünde .classpath dosyasını görebilir, bu dosyayı silebilir ve projeyi oluşturabilirsiniz. Bu benim için çalıştı. PS. Eğer eclipse projesini perfoce / svn gibi bazı sürüm kontrolleriyle entegre ettiyseniz, .classpath dosyasını silmeden önce projenin bağlantısını kaldırmak yardımcı olacaktır.


2

Bir denetleyici ekledikten sonra tutulma üzerinde play-java uygulamasıyla bu sorunla karşı karşıya kaldım, JRE'yi oluşturma yolu aracılığıyla kaldırıp yeniden yükledim ve sonra bu sorunu otomatik olarak çözen projemi kaldırıp içe aktardım. Teşekkürler gyro.


Bu Ripon Al Wasim'in cevabı ile aynı, değil mi?
Nicolas Raoul

2

Bu bir Eclipse hatası gibi görünüyor, Eclipse'i yeniden başlatmak benim için harika çalıştı, umarım bu başka birine de yardımcı olur.


2

Sorunumu çözen şey

1) boşluk olmadan dizinin altına jdk yükleyin:

C:/Java

Onun yerine

C:/Program Files/Java

Bu, Windows'ta bilinen bir sorundur. tamir ettimJAVA_HOME hem de

2) Dizüstü bilgisayarımda java 7 ve java 8'i kullanıyorum. Ben jvm kullanarak tanımladı eclipse.ini. Buraya -vmgirişiniz yoksa bu zorunlu bir adım değildir eclipse.ini. Güncelledim:

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

Onun yerine:

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

İyi şanslar


1

Tutulma pencerelerinde JNI bağımlı .class dosyaları ekleyemedim aynı sorun vardı. Aynı sorunu çözmek için, tüm kodu NetBeans IDE'ye taşıdım.

Eclipse'deki (JAVA, Windows 7) JNI / JNA klasöründeki tüm sınıf dosyaları eklenemiyor


Neden oy kullanılmıyor? Tüm olası çözümleri denedim, hala sorunu çözemedim ve NetBeans kodu taşıdım bakın. Bunu cevapladım çünkü eğer biri takılırsa, en kötü durumda yardım alabilir.
Jyo the Whiff

Haklı olabilirsiniz ama benim için JNI / JNA, mevcut kütüphaneyi sildikten ve varsayılan jre kütüphanesini ayarladıktan, projeyi kapat, projeyi açtıktan sonra (eclipse - 4.9.0 için) iyi çalıştı.
Ajay Kumar

1

Tomcat 6 ve jdk 1.8 sürümleriyle çalışırken, bazı özellikler çalışmaz ve aldığınız bu hata birdir. Bu hatayı gidermek için jdk sürümünü sabit tutmaya (tercihen jdk 1.6 veya jdk 1.8_65) değiştirmeniz gerekir.

tutulma adım 1: özellikler -> java yapı yolu -> jre sistem kütüphanesi (kaldır) adım 2: add -> jre sistem kütüphanesi -> alternatif jre -> yüklü jre -> add -> Standart VM -> (jre home, jdk yolu yerleştirin) -> bitir

şimdi temizle ve projeyi kontrol et


1

Bu hatayı aldım çünkü "Enterprise Java Geliştiricileri için Eclipse IDE", bunu kaldırdım ve "Java Geliştiricileri için Eclipse IDE" yükledim. Sorun benim için çözüldü.


0

Tutulmaya bazı güncellemeler yükledikten sonra bana sonra ama sonra yeniden başlatmayı unuttum. Belki de tutulmanın yeniden başlatılması yardımcı olabilir.


Bunu yapmaya çalıştım, ama henüz yorum yazma iznim yok.
NotX

0

Ne kadar önemli olursa olsun, Java kurulumunuzu kontrol edin. Benim için rt.jar eksikti .

Eclipse ayarları ile yarım gün uğraşırken ve hiçbir yere ulaştıktan sonra bunu buldum. Umutsuz, sonunda projeyi komut satırından derlemeye karar verdim. Bir Eclipse sorunu olduğunu düşündüğümden beri yanlış bir şey görmeyi beklemiyordum ama şaşkınlığım için bunu gördüm:

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

Java kurulumuma ne olduğunu bilmiyorum ve rt.jar nereye gitti. Her neyse, bu başarısız denetim listesi üzerinden gitmek ve ne kadar inanılmaz olursa olsun tüm kutuları işaretlemek için bir hatırlatma olarak geliyor. Bana çok zaman kazandıracaktı.


0

Tutulma Java derleyicisindeki 'Kullanıcı' --releae seçeneği'nin işaretini kaldırdıktan sonra benim için çalışıyor

Tutulma adım 1'de: özellikler -> java Complier -> uchecking 'User' --releae option 'seçeneği -> bitir

Java sürümü 13.0.1 Eclipse sürümü: Enterprise Java Geliştiricileri için Eclipse IDE.


0

Projeye sağ tıklayın, Maven -> Projeyi güncelle'yi seçin. Bu sorunu çözmeli.


eclipse -> maven -> güncellemesi yapmak sorun giderme sırasındaki adımlardan biri olmalıdır.
Vaibs

0

Benim durumumda büyük bir modüler projeydi ve ' kırmızı X ' sadece ana projede gösteriliyordu. Ebeveyn projesine gittim

Özellikler -> Oluşturulan Yol

a, JRE Kütüphanesini oradan kaldırdı, sadece bu, üst projede artık JRE Kütüphanesi yok.


0

Bu çözümlerin hiçbiri benim için işe yaramadı. Benim durumumda sorun, bazı Java kod .javadosyaları üreten ve yanlışlıkla adlı bir dosya Class.java(içerik önemli görünmüyor) oluşturmuş olmasıydı . Dosyayı kaldırmak sorunu çözdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.