2011-09-02 2 views
11

Я хочу отлаживать статический внутренний класс, который на самом деле является Callable. Всякий раз, когда я пытаюсь установить условную точку останова в Eclipse, я получаю ошибку точки останова:Результаты Eclipse/условной точки останова в BreakpointException

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

Что является причиной этой ошибки? Это ошибка в классе/пакете, который использует com.sun.source.tree.Tree$Kind, но не предоставляет его? Как узнать, какой класс он есть? Как мне его решить?


Пример выражение, которое должно быть правильным является: return mRtx.getNode().getNodeKey() == 74;

Я изменил его mRtx.getNode().getNodeKey() == 74, но все та же ошибка. Недавно я нашел ошибку и просто использовали:

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

и установить «нормальный» точку останова на «SYSOUT» заявление только в случае, если кто имеет такую ​​же проблему.

+1

Не могли бы вы завершить свой вопрос, чтобы разъяснить его со всеми классами, которые вы упомянули? Каков реальный вопрос? –

+0

Пожалуйста, укажите здесь, какой JVM используется для запуска eclipse и запуска вашего отлаженного программного обеспечения. –

ответ

1

Компилятор не может найти тип, то есть проблему с корнем, но, по моему мнению, это должна быть только ошибка времени компиляции, но по причине того, что я прочитал, это ошибка времени выполнения. Это верно?

Здесь есть несколько советов:

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

Indirectly referenced from required .class file

Может быть, вы могли бы разместить больше кода или использовать «Control + T» в Eclipse, на классе, чтобы посмотреть на иерархии типов, я хотел бы знать, на что ссылаются другие классы.

НТН,

Джеймс

+0

Спасибо за ссылки (+50). – DaveFar

+0

Рад, что я смог помочь и много благодарностей! –

2

Может быть, вы должны попытаться изменить исходный поиск отладчика.

Для этого перейдите в отладочную перспективу, в окне отладки (где обычно отображается стек) щелкните правой кнопкой мыши по завершенному запуску и выберите «Изменить поиск источника ...».

Тогда вы можете добавить поисковое слово. В этом случае вы должны добавить файл tools.jar, который находится в папке jre.

+0

Спасибо. Это решило проблему для меня.Он только просит «выбрать» 2 (неуправляемый источник - это другой, который поставляется в качестве связанного источника в созданном проекте, но не включен в путь запуска), но он управляемый. –

3

Я не уверен, как бы я воспроизвел его, так как ваше описание не очень много говорит.

Пакет com.sun.source.tree включен в tools.jar, который является частью JDK, но не JRE, поэтому убедитесь, что вы запустите свой Eclipse в JDK (переменная JAVA_HOME?), Возможно, попробуйте настроить проекты JRE на папку JDK.

Я также считаю, что API компилятора был представлен на Java 6, поэтому проверьте, не используете ли вы более низкую версию.

+0

Спасибо за ответ (+1). Если jamesDrinkard не показал мне отличный сайт http://java.syntaxerrors.info, я бы дал вам +50. – DaveFar

+0

На моей машине мне пришлось вручную добавить tools.jar из моей установки java (хотя я использовал JDK): Window> Preferences> Установленные JRE, выберите JDK, нажмите «Изменить» и добавьте tools.jar из lib-subfolder, если он еще не существует. – evandor

Смежные вопросы