Semptomlar, bulunan sınıfın ilişkili (veya atanmış) kaynağa sahip olmadığı durumu mükemmel bir şekilde tanımlar.
- JDK sınıflarının kaynaklarını Tercihler> Java> Yüklü JRE'de ilişkilendirebilirsiniz . Kullanılacak JRE (JDK değil) varsayılan JRE olarak algılanırsa, JDK sınıflarınız eklenmiş kaynaklara sahip olmaz. Tüm JDK sınıflarının kaynak sağlamadığını, bazılarının yalnızca ikili biçimde dağıtıldığını unutmayın.
- Projenin derleme yolundan, elle eklenen sınıflar, ilişkili kaynağı el ile eklemenizi gerektirir. Kaynak bir zip veya jar dosyasında, çalışma alanında veya dosya sisteminde bulunabilir. Eclipse zip dosyasını tarar, böylece kaynaklarınızın arşiv dosyasının kökünde olması gerekmez.
- Sınıflar, başka bir eklentiden gelen bağımlılıklardan (maven, PDE, vb.). Bu durumda, kaynağın nasıl sağlanacağı eklentiye bağlıdır.
- PDE , her eklentinin , eklentinin kaynağını içeren ilgili XXX.source paketine sahip olmasını gerektirir . Daha fazla bilgiyi burada ve burada bulabilirsiniz .
- m2eclipse , varsa Maven bağımlılıkları için kaynakları ve javadokları alabilir. Bu özellik m2eclipse tercihlerini etkinleştirmelidir (seçenek, " Download source and javadocs " gibi bir adla belirtilmiştir .
- Diğer eklentiler için belgelerine başvurmanız gerekir
- Projenizden yüklenen sınıflar otomatik olarak projedeki kaynaklarla eşleştirilir.
Ama ya Eclipse hala benim sınıflarımı ve kaynaklarını doğru ayarlasam bile, kaynak eklemenizi önerirseniz:
Bu neredeyse her zaman Eclipse'nin sınıfı beklediğinizden farklı bir yerden bulduğu anlamına gelir. Yanlış sınıf alabileceği yeri görmek için kaynak arama yolunuzu inceleyin. Yolu bulgularınıza göre güncelleyin.
Kesme noktası vurulduğunda Eclipse hiçbir şey bulamaz:
Bu, kaynak arama yolu şu anda çalışma zamanında yüklü olan sınıfı içermiyorsa olur. Sınıf çalışma alanında olsa bile, başlatma yapılandırması için görünmez olabilir, çünkü Eclipse kaynak arama yolunu sıkı bir şekilde izler ve yalnızca şu anda hata ayıklanan projenin bağımlılıklarını ekler.
Bunun bir istisnası ayıklama demetleri olan PDE . Bu durumda, çalışma zamanı birbirine bağımlılık bildirmek zorunda olmayan birden fazla projeden oluştuğu için, Eclipse kaynak arama yolunda bulunmasa bile sınıfı otomatik olarak çalışma alanında bulur.
Bir kesme noktasına çarptığımda değişkenleri göremiyorum veya sadece kaynağı açıyor, ancak kesme noktası satırını seçmiyor:
Bu, çalışma zamanında JVM veya sınıfların kendilerinin gerekli hata ayıklama bilgilerine sahip olmadığı anlamına gelir. Sınıflar her derlendiğinde, hata ayıklama bilgileri eklenebilir. Sınıfların depolama alanını azaltmak için, bazen bu bilgi atlanır, bu da bu kodun hata ayıklamasını bir acı haline getirir. Tek şansınız hata ayıklama etkinken yeniden denemek ve derlemektir.
Eclipse kaynak görüntüleyicisi gerçekte yürütülen satırlardan farklı satırlar gösterir:
Bazen boş alanın da yürütüldüğünü gösterebilir. Bu, kaynaklarınızın sınıfların çalışma zamanı sürümüyle eşleşmediği anlamına gelir. Bunun mümkün olmadığını düşünseniz bile, bu yüzden doğru kaynakları ayarladığınızdan emin olun. Veya çalışma süreniz, ne yapmaya çalıştığınıza bağlı olarak en son değişikliklerinizle eşleşir.