Отладка Java: источник не найден

У меня проблема с Eclipse, где я могу запустить свою программу просто отлично, но когда я пытаюсь запустить отладчик, я получаю это сообщение

Eclipse Window showing error

Изображение немного сложно разобрать, но вместо того, чтобы получать нормальное окно отладки, вместо этого он говорит, что он бросает исключение ClassNotFoundException и пытается выложить источник для Launcher $ExtClassLoader.

Вещь, которая меня действительно сбивает с толку, заключается в том, что я могу просто запустить код, только когда я нажимаю кнопку отладки, у меня есть проблема.

Я также попробовал отладку в командной строке с JDB, и я получил ту же ошибку.

До сих пор я попытался переустановить Eclipse и загрузить (что я считаю) правильными инструментами разработки Java для Mac OS X.

Я понятия не имею, что еще я могу попробовать, поэтому любая помощь будет очень признательна. Сообщите мне, есть ли какая-либо другая информация, которую я могу предоставить.

Ответ 1

Источник, который не найден, может быть легитимным для динамически загружаемого кода (например, Maven).

Существует три обходных решения (после нескольких месяцев поиска):

Я предпочитаю и рекомендую 3. Он работает и запускает webapp намного быстрее, чем причал: запустите.

К сожалению, 2. не помог мне, так как он имеет проблемы с путями Windows с пробелами.

Я заполнил запрос расширения на Eclipse Bugzilla, и, если вы согласны с этой проблемой, "источник не найден" должен исчезнуть навсегда, пожалуйста, проголосуйте за него здесь:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065

Ответ 2

У вас есть источники файлов, которые вы используете. Если вы используете Maven (M2Eclipse), вы можете загрузить источники. Это может решить проблему. enter image description here

В противном случае вы можете пойти и вручную подключить свои источники. Вот как вы вручную прикрепляете источники.

Getting the library paths

Затем вам нужно прикрепить источники -

Attaching sources

Надеюсь, что это поможет

Ответ 3

"Источник не найден" - это красная селедка - просто не может быть доступа к источнику, который бросает ошибку, потому что он глубоко в кишках загрузчика классов отладчика.

В лучшем случае возникает вопрос: "Почему scottrice.ChessPuzzles.ChessPuzzleDriver не найден?" Единственная возможность, которая возникает у меня на данный момент, заключается в том, что что-то может быть странным в вашей конфигурации отладки. Вы отлаживали программу, просто щелкнув правой кнопкой мыши файл с помощью main() и выбрав "Debug As" → "Java Application"?