Отладка Java в Eclipse: источник не найден - PullRequest
166 голосов
/ 30 мая 2011

При отладке Java-приложения в Eclipse я получаю ошибку « Источник не найден » в двух случаях:

  • Переход к файлу в другом проекте, который уже импортирован
  • Переход к файлу в установленном репозитории maven

Файлы есть, но затмение не вступит в них, вместо этого будет показана кнопка « присоединить источник »

Я попытался подключиться (что открыло диалоговое окно для определения переменной ?!), и eclipse перешел к файлу, но отладчик не смог проверить там какие-либо переменные. Также ручное подключение источника для каждой зависимости нецелесообразно, так как в моем случае существуют тысячи файлов зависимостей.

Я новичок в eclipse \ java , поэтому объяснение того, почему это происходит + как решить эту проблему, очень помогло бы!

Ответы [ 30 ]

0 голосов
/ 10 сентября 2018

Для начинающих:

Существует вероятность, что файл jar является частью проекта, который вы еще не включили в рабочую область Eclipse.

Для этого вам нужно знатьимя проекта файла jar.Скажем, например, что это abc -18.0.0-SNAPSHOT.jar, это означает, что проект, который вы должны включить в ваше рабочее пространство, это abc .

0 голосов
/ 14 февраля 2013

Информация: это возможное решение, когда вы используете maven (pom.xml) с несколькими проектами.

Если вы работаете с maven, убедитесь, какую версию вы используете внутри pom.xml (например, 1.0.1-SNAPSHOT). Возможно, ваш код обновлен, но ваши зависимости pom.xml по-прежнему принимают старые JAR-файлы / снимки (со старым кодом).

Нахождение проблемы:

  • Попробуйте отладить соответствующий файл.
  • Поэтому установите точку останова в соответствующей области кода.
  • Когда появляется «источник не найден» , убедитесь, что привязка выполнена в нужном проекте (где находится файл .java).
  • Файл компиляции .class открывается в редакторе IDE.
  • Нажмите «Связь с редактором», чтобы найти соответствующий JAR / снимок.
  • Теперь убедитесь, что этот JAR-файл самый последний. Возможно, есть более новый. В этом случае напишите номер самой последней версии в файле pom.xml.
  • Затем выполните обновление maven и соберите (например, "mvn clean install -U") в правильном каталоге проекта.
0 голосов
/ 26 ноября 2013

У меня была проблема, связанная с отладкой сервера Glassfish в Eclipse. Это было вызвано загрузкой исходного кода из другого репозитория (переход с SVN на GitHub). В ходе этого процесса сервер Glassfish использовал неправильные скомпилированные классы, и, следовательно, время источника и выполнения не синхронизировалось с точками останова, появляющимися в пустых строках.

Чтобы решить эту проблему, переименуйте или удалите верхнюю папку каталога классов, и Glassfish заново создаст все дерево каталогов классов, включая обновление файлов классов с правильно скомпилированной версией.

Каталог классов находится в: / workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <ваше веб-приложение> / WEB-INF / classes

0 голосов
/ 06 апреля 2018

Ну, вот что сработало для меня.Я перепробовал все возможные решения на StackOverflow, которые были.Я попытался изменить свое местоположение источника в меню отладки, я установил Eclipse-плагин m2e, я перешел со встроенного Maven и установил run-jetty-run, но ничего не получилось.Теперь я хочу предупредить, что я не пытался просматривать исходный код внешнего человека, я просто хотел увидеть свой СОБСТВЕННЫЙ код, но каждый раз, когда я «вмешивался» в свои методы, которые я написал, которые были в МОЕМ проекте, я получалОшибка «Источник теперь найден».

После того, как я наконец спросил эксперта, моя проблема заключалась в том, что первое, что сделал Eclipse, это вызвал ClassLoader, который вы можете увидеть из стека отладки.Все, что мне нужно было сделать, это F6 (шаг), а затем он вернул меня к исходному вызову, а затем F5 (шаг).И там был мой код.Вздох ... такое простое решение, но потерянный час.

0 голосов
/ 20 марта 2015

Если вы хотите присоединить исходный код к любому JAR путем автоматической загрузки, попробуйте использовать этот плагин Eclipse Java Source Attacher

enter image description here

0 голосов
/ 03 июня 2013

Если вы используете eclipse или STS, пожалуйста, установите и используйте GC (плагин GrepCode), иногда вам не нужно прикреплять исходный .zip-файл к пути вашего проекта, чтобы GrepCode работал нормально для вас.

0 голосов
/ 18 сентября 2018

В eclipse photon попробуйте отключить «Window-> Preferences-> Java-> Debug-> Use advanced source lookup»

Edit: в этой версии eclipse есть связанная ошибка, которая приводит ксообщение «источник не найден» при отладке приложений Java.См. Отчет об ошибке bugs.eclipse.org/bugs/show_bug.cgi?id=537699 для получения более подробной информации

0 голосов
/ 10 июня 2014

В моем случае с проектами tomcat я проверил проект здесь: Окно - Настройки - Tomcat - Исходный путь - Добавить Java-проекты к исходному пути

0 голосов
/ 03 апреля 2019

У меня была такая же проблема с eclipse 2019-03 (4.11.0), и я смог решить ее только путем отладки с помощью удаленной отладки вместо непосредственного запуска в режиме отладки.

0 голосов
/ 18 сентября 2014

В моем случае версия Maven другого ссылочного проекта не совпадала с версией тестового проекта.Когда они стали одинаковыми, проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...