2011-09-02 31 views
11

Aslında bir Callable olan statik bir iç sınıfta hata ayıklamak istiyorum. Bu hataya neden olan neEclipse/koşullu kesme noktası BreakpointException ile sonuçlanır

The type com.sun.source.tree.Tree$Kind cannot be resolved. It is indirectly referenced from required .class files.

: Eclipse koşullu kesme noktası ayarlamak için denemek zaman ben kesme noktası hatası alıyorum? com.sun.source.tree.Tree$Kind'u kullanan sınıf/paketde bir hata var mı, ancak bunu sağlamaz mı? Hangi sınıfın olduğunu nasıl bulabilirim? Bunu nasıl çözebilirim? doğru olmalıdır


bir örnek ifadesidir: Hala mRtx.getNode().getNodeKey() == 74 aynı hata için değişti return mRtx.getNode().getNodeKey() == 74;

. Son zamanlarda hata buldum ve sade bir şekilde kullandı:

if (mRtx.getNode().getNodeKey() == 74) { 
    System.out.println("bla"); 
} 

ve vaka birisi aynı sorun var sadece "sysout" ekstresinde "normal" bir kesme noktası ayarlayın.

+1

Sorunu, bahsettiğiniz bütün sınıflarla açıklığa kavuşturmak için tamamlayabilir misiniz? Asıl soru nedir? –

+0

Lütfen burada, JVM'nin tutulmayı çalıştırmak ve hata ayıklama yazılımınızı çalıştırmak için kullanıldığını belirtin. –

cevap

1

Derleyici, bu tür bir sorunu bulamıyor, ancak bu benim düşünceme göre, bu yalnızca bir derleme zamanı hatası olmalı, ancak okuduğum şeyden kaynaklanan bir sonuç olarak, bir çalışma zamanı hatasıdır. Bu doğru mu? İşte

is bazı ipuçları:

http://java.syntaxerrors.info/index.php?title=Cannot_resolve_type

Indirectly referenced from required .class file

Belki, daha fazla kod gönderebilir veya tip hiyerarşisi bakmak sınıfı Eclipse "kontrol + T" kullanabilirsiniz ben Başka sınıflara atıfta bulunulduğunu bilmek ister.

HTH,

James

+0

Bağlantılar için teşekkürler (+50). – DaveFar

+0

Sevindim Yardım ettim ve çok teşekkürler! –

2

Belki Ayıklayıcı'nın kaynak arama düzenlemek için çalışmalısınız.

Bunu yapmak için hata ayıklama perspektifine gidin, hata ayıklama görünümünde (yığının normal olarak gösterildiği yerde) sonlandırılmış çalışmaya sağ tıklayın ve 'Kaynak Aramalarını Düzenle ...' öğesini seçin.

Ardından, bir arama yeri ekleyebilirsiniz. Bu durumda jre klasöründe bulunan tools.jar dosyasını eklemelisiniz.

+0

Teşekkürler. Bu benim için sorunu çözdü.Sadece 2'yi ("yönetilmeyen kaynak", projenin oluşturulmasında bağlantılı bir kaynak olarak gelen ancak çalışma yoluna dahil edilmeyen başka bir kaynaktır) seçilmesini ister ancak yönetilebilir. –

3

Açıklamanızın çok fazla bir şey ifade etmediği için nasıl çoğaltacağımı bilmiyorum.

com.sun.source.tree paketi, JDK'nın bir parçası olan ancak JRE'nin bir parçası olmayan tools.jar dosyasında bulunur; bu nedenle, Eclipse'inizi JDK (JAVA_HOME değişkeni?) Içinde çalıştırdığınızdan emin olun, belki de JRE'yi bir JDK klasörüne ayarlamayı deneyin.

Ayrıca, Compiler API'nin Java 6'da tanıtıldığını düşünüyorum, bu yüzden daha düşük bir sürüm kullanmıyor olup olmadığını kontrol edin.

+0

Cevabınız için teşekkürler (+1). Eğer jamesDrinkard bana http://java.syntaxerrors.info harika sitesini göstermemiş olsaydı, sana +50 verirdim. – DaveFar

+0

Makinemde, java yüklememden tools.jar dosyasını elle eklemem gerekiyordu (bir JDK kullanıyor olsam bile): Pencere> Tercihler> Yüklü JRE'ler, bir JDK seçin, "edit" tuşuna basın ve tools.jar dosyasını ekleyin. lib-alt klasörü henüz mevcut değilse. – evandor

İlgili konular