Eclipse'de bir hata aldım. Bu hata mesajı ne anlama geliyor:
İglu.ir.TermVector türü çözümlenemiyor. Gerekli .class dosyalarından dolaylı olarak başvurulur
Eclipse'de bir hata aldım. Bu hata mesajı ne anlama geliyor:
İglu.ir.TermVector türü çözümlenemiyor. Gerekli .class dosyalarından dolaylı olarak başvurulur
Yanıtlar:
Bunun anlamı: "Kullandığınız bir sınıfın sınıf yolunda olmayan başka bir sınıfa ihtiyacı var." (Harry Joy'un önerdiği gibi) gerekli kavanozu sınıfyoluna eklediğinizden emin olmalısınız.
Bu, gerçek bir hata olduğu için Eclipse'nin kafası karışması meselesidir. Hatayı görmezden geldim ve uç noktasıInterface hakkında şikayet ettiği web hizmetini çalıştırdım ve her seferinde çalıştırmak istediğimde iletişim kutusuyla uğraşmak dışında iyi çalıştı. Bana hiçbir şey söylemeyen başka bir opak hatası.
Bazen bana, her zaman eski özellikleri temizlemek için "mvn eclipse: clean" komutuyla düzelttikten sonra mvn eclipse: eclipse -Dwtpversion = 2.0 (elbette web projesi için) çalıştırdım. Bazı eski özellikler vardır, bu nedenle bazen tutulma bazen karıştırılır.
mvn eclipse:clean
ve / veya mvn eclipse:eclipse
çalışmasını sağlamak için sihir numarası gibi görünüyor.
Bozuk bir yerel maven deposu nedeniyle bu hatayı aldım .
Bu nedenle, sorunu çözmek için tek yapmam gereken, depomda gidip ilgili .jar'ın bulunduğu klasörü silmek, ardından update maven
Eclipse'de zorlamaktı .
Görünüşe göre bu, 3.0'da çözülen bilinen bir sorun (Hata 67414) ... Birisi bunun 3.4'te de meydana geldiğini yorumladı.
Bu arada, geçici çözüm, JRE Sistem Kitaplığı'nı projeden kaldırmak ve yeniden eklemek.
Here are the steps:
Derleme hatası ile projenin özelliklerine gidin (sağ tıklayın> Özellikler)
"Yol Oluştur" bölümündeki "Kütüphaneler" sekmesini görüntüleyin
Listede "JRE Sistem Kütüphanesi" ni bulun (eğer bu eksikse bu hata mesajı bir tutulma hatası değil, yanlış yapılandırılmış bir projedir)
"JRE Sistem Kütüphanesi" ni kaldırın
"Kitaplık Ekle ..." ye basın, "JRE Sistem Kütüphanesi" ni seçin ve proje için uygun JRE'yi ekleyin (örn. 'Çalışma alanı varsayılan JRE')
Kütüphane seçiminde "Bitir" ve proje özelliklerinde "Tamam" a basın ve ardından projenin yeniden oluşturulmasını bekleyin
Umarım hata çözülecektir ...
Bu hata, jar dosyasındaki sınıflar, kavanozun klasör yapısıyla aynı yapıyı izlemediğinde oluşur.
örneğin, sınıf dosyanızda com.test.exam paketi varsa ve bu sınıf dosyasından oluşturulan sınıflar.jar yapısı test.exam ise ... hatası atılır. Sınıflarınızın paket yapısını düzeltmeniz ve sonra ecplipse oluşturma yoluna eklemeniz gerekir ...
Tutulma jdk'nin farklı bir sürümünde çalıştığı için bu istisnayı aldım, sadece doğru, temiz ve inşa edip çalıştı!
Eclipse 4.4.2 ile ilgili bu sorunun ilginç bir vakası vardı. Projem (P1), aynı ada ancak farklı bağımsız değişken türlerine sahip iki yöntemle harici bir sınıfa (proje P2) başvurdu:
public static void setItem(Integer id) …
public static void setItem(Item item) …
Tür Item
, burada görünür olmak istemediğim üçüncü bir proje P3'te yer aldı. P1 sadece ilk yöntemi çağırdı:
ExternalClass.setItem(Integer.valueOf(12345));
Bu nedenle, Item
sınıfı kullanan ikinci yöntem kullanılmadı ve P3'ün derleme sınıfyolunda olmadığı doğrudur - kullanılmıyorsa neden olmasın.
Hala Eclipse söyledi
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
Komut satırından derleme bu tür sorunlar üretmedi. İkinci yöntemin adını değiştirmek (burada kullanılmayan!) Eclipse'de de sorunu ortadan kaldırdı.
Benim için düzelten şey right clicking on project > Maven > Update Project
Benim için, jdk'mi eski kavanoz setim uzun süredir kullanıldığında 1.8.0_60'a yükselttiğimde olur. Eğer jdk1.7.0_25'e geri dönersem, bütün bu problemler ortadan kalkar. JRE ve kütüphaneler arasındaki uyumluluk ile ilgili bir sorun gibi görünüyor.
Ben sadece bazı svn ayarlarını değiştirmek ve kodunda bir şey değil hatayı aldım. Sadece projelerin temizlenmesi hatayı düzeltti.
Benim durumumda, ben bir proje oluşturulur ve onun yapılmış minSdkVersion=9
ve targetSdkVersion=17
. Otomatik olarak oluşturdum libs/android-support-v4.jar
. Ben de faydalanmak zorunda ActionBarActivity
kullanarak android-support-v7-appcomapt.jar
. Bu yüzden android-support-v7-appcompat.jar
dosyayı android-sdk/extras/andrid/support/v7/appcompat/libs
klasörden kopyaladım ve proje libs
klasörüne yapıştırdım . Ve bu yukarıdaki hataya neden oldu. Yani, temelde, benim de proje klasörüme android-support-v4.jar
dosya koymak gerekiyordu . Bildiğim kadarıyla dosya dosya bağımlılıkları vardı . Yani, projem yerine kendi oluşturduğu dosyaya otomatik olarak ihtiyaç duyuyordu .android-sdk/extras/andrid/support/v7/appcompat/libs
libs
v7.jar
v4.jar
v4.jar
v4.jar
Hızlı ve Basitçe Bu şekilde düzelttim (Windows XP Home Edition'da ADT sürümünü kullanıyorum: v21.0.0-531062)
Sorun oldu ama sorun her birkaç günde bir geri dönüyor. Yukarıdaki ile aynı şeyi yaparım ve çözer ve geliştirmeme izin verir.
Bir sınıf dosyasının eksik olmasının zaten önerilen nedenine ek olarak, bu hata yinelenen bir sınıf dosyasını da gösterebilir, derleme yolundaki bir sınıf dosyası derleme yolunda birden fazla tanım içeren başka bir sınıf kullandığında, eclipse bu hatayı rapor eder.
Bize çok az ayrıntı verdiğiniz için, büyük olasılıkla yaptığınız şey, bu inanılmaz kolay bir hata.
Build Path > Configure Build Path > Projects
ve ek proje klasörünüzü oradan eklediğinizde,
Build Path > Configure Build Path > Libraries
ve proje klasörünüzü oradan eklediniz.
Kodunuz doğruysa bu kesinlikle doğrudur, ancak ithalatı otomatik olarak ctrl+space
com.your.additionalproject'e atıfta bulunan ithalat beyanlarınız yerine, kısayol ettikten sonra, referanslarınız bin.com.your.additionalproject'e işaret eder.
Kutuyu not edin. Diğer proje klasörü yapınıza bir kütüphane gibi davranarak dolaylı olarak sınıfınıza atıfta bulunarak, IDE'nizin başvurduğunuz tam olarak ikili sınıfı bulmanın tüm wokr'ını yapması anlamına gelir.
Bunu düzeltmek için klasörü Kitaplıklar'dan kaldırın ve bunun yerine Projeler sekmesinin altına ekleyin ve içe aktarma işlemlerinizi yeniden düzenleyin. Projeniz iyi çalışmalıdır.
Yeni bir tutulma sürümü kullandığımda ve eski tutulma sürümü ile kullandığım önceki çalışma alanını kullanmaya çalıştığımda, bu hata oluştu.
Sorunu nasıl çözeceğim:
Paket Gezgini -> Özellikler -> Java Derleme Yolu -> Kütüphaneler -> Projemi sağ tıklayın JRE Sistem Kütüphanesi'nde bir hata (Çapraz İşaret) görüyorum. Çünkü yol bulunamıyor. -> JRE Sistem Kütüphanesi'ne çift tıklayın -> "Çalışma Alanı Varsayılan JRE" seçeneğini seçin -> Son -> Tamam. -> BUM ÇALIŞIYOR
Bilginize.
Benim durumumda, dosyama yeni bir bağımlılık eklememin bir sonucuydu pom.xml
.
Yeni bağımlılık, kütüphanenin eski bir sürümüne bağlıydı (2.5). Aynı kütüphane,pom.xml
, fakat 3.0 sürümü gerekiyordu.
Bir nedenden ötürü, Maven bu çatışmalarla karşılaştığında, en son sürümü atlar. Eclipse uygulamasında pom.xml
, bağımlılıkların nasıl çözüldüğünü görmek için alttaki "bağımlılık hiyerarşisi" sekmesini seçebilirsiniz. Burada, söz konusu kütüphanenin (ve dolayısıyla sınıfın) bu nedenle atlanıp atlanmadığını göreceksiniz.
Benim durumumda, yeni sürümü kilitlemek kadar basitti. Girdiyi sağ tıklatarak bunu yapabilirsiniz - içerik menüsünde kilitlemek için bir seçenek vardır.
JRE'yi bir JDK Oluştur yoluna yönlendirin. Bu benim için çalıştı.