Eclipse/условная точка останова в BreakpointException
Я хочу отлаживать статический внутренний класс, который на самом деле является Callable. Всякий раз, когда я пытаюсь установить условную точку останова в Eclipse, я получаю ошибку контрольной точки:
Тип com.sun.source.tree.Tree$Kind
не может быть разрешен. это косвенно ссылаются на требуемые файлы .class.
Что вызывает эту ошибку? Является ли это ошибкой в классе/пакете, который использует 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
Я не уверен, как бы я воспроизвел его, так как ваше описание не очень много говорит.
Пакет com.sun.source.tree
включен в tools.jar, который является частью JDK, но не JRE, поэтому убедитесь, что вы запустите свой Eclipse в JDK (переменная JAVA_HOME?), возможно, попробуйте настроить проекты JRE на папку JDK.
Я также думаю, что API компилятора был представлен на Java 6, поэтому проверьте, не используете ли вы более низкую версию.
Ответ 2
Возможно, вам стоит попробовать отредактировать поиск исходного кода отладчика.
Чтобы сделать это, перейдите в режим отладки, в представлении отладки (где обычно отображается стек) щелкните правой кнопкой мыши по завершенному прогону и выберите "Изменить поиск источника...".
Затем вы можете добавить место для поиска. В этом случае вы должны добавить файл tools.jar, который находится в папке jre.
Ответ 3
Компилятор не может найти тип, то есть корневую проблему, но, по моему мнению, это должна быть только ошибка времени компиляции, но, как следствие, из того, что я прочитал, это ошибка времени выполнения. Это верно?
Вот несколько советов:
http://java.syntaxerrors.info/index.php?title=Cannot_resolve_type
Косвенно ссылается на требуемый файл .class
Возможно, вы могли бы разместить больше кода или использовать "control + T" в Eclipse в классе, чтобы посмотреть на иерархию типов, я хотел бы знать, к каким ссылкам относятся другие классы.
НТН,
Джеймс