При отладке Java-приложения в Eclipse я получаю ошибку « Источник не найден » в двух случаях:
- Переход к файлу в другом проекте, который уже импортирован
- Переход к файлу в установленном репозитории maven
Файлы есть, но затмение не вступит в них, вместо этого будет показана кнопка « прикрепить источник »
Я попытался подключиться (что открыло диалоговое окно для определения переменной ?!), и eclipse перешел к файлу, но отладчик не смог проверить там какие-либо переменные. Также ручное подключение источника для каждой зависимости нецелесообразно, так как в моем случае существуют тысячи файлов зависимостей.
Я новичок в затмении \ java, поэтому объяснение того, почему это происходит + как решить эту проблему, очень помогло бы!
Всего 3 шага для настройки Eclipse IDE:
Редактировать поиск источника Выберите команду «Редактировать поиск источника ...» [Редактировать поиск источника], чтобы открыть диалоговое окно «Исходный путь», которое позволяет вносить изменения в исходный путь поиска выбранной цели отладки.
ВАЖНО Перезапустите Eclipse после этого последнего шага.
источник
Симптомы прекрасно описывают случай, когда найденный класс не имеет связанного (или назначенного) источника.
Но что, если Eclipse все равно предложит вам присоединить источник, даже если я правильно установил свои классы и их источники:
Это почти всегда означает, что Eclipse находит класс в другом месте, чем вы ожидаете. Проверьте ваш путь поиска источника, чтобы увидеть, где он может получить неправильный класс. Обновите путь в соответствии с вашими выводами.
Eclipse ничего не находит, когда достигается точка останова:
Это происходит, когда у вас путь поиска исходного кода не содержит класс, который в данный момент загружается во время выполнения. Даже если класс находится в рабочей области, он может быть невидим для конфигурации запуска, потому что Eclipse строго следует исходному пути поиска и присоединяет только зависимости проекта, который в данный момент отлажен.
Исключением являются пакеты отладки в PDE . В этом случае, поскольку среда выполнения состоит из нескольких проектов, которым не нужно объявлять зависимости друг от друга, Eclipse автоматически найдет класс в рабочей области, даже если он недоступен в пути поиска исходного кода.
Я не вижу переменные, когда попадаю в точку останова или она просто открывает источник, но не выбирает строку точки останова:
Это означает, что во время выполнения JVM или сами классы не имеют необходимой отладочной информации. Каждый раз, когда классы компилируются, можно добавлять отладочную информацию. Чтобы уменьшить объем памяти классов, иногда эта информация опускается, что затрудняет отладку такого кода. Ваш единственный шанс - попытаться перекомпилировать с включенной отладкой.
Средство просмотра исходного кода Eclipse показывает строки, отличные от тех, которые фактически выполняются:
Иногда это может показать, что пустое пространство также выполняется. Это означает, что ваши источники не соответствуют вашей версии классов во время выполнения. Даже если вы думаете, что это невозможно, это так, поэтому убедитесь, что вы настроили правильные источники. Или ваша среда выполнения соответствует вашим последним изменениям, в зависимости от того, что вы пытаетесь сделать.
источник
С http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source
«При работе в режиме отладки щелкните правой кнопкой мыши по запущенному потоку (на вкладке« Потоки ») и выберите« Редактировать поиск исходного кода ». На этом этапе вы сможете добавить необходимый проект / jar, содержащий ваш исходный код».
Я добавил свой текущий проект таким образом, и он решил мою проблему
источник
У меня была похожая проблема с моим проектом Eclipse Maven. Я боролся с этой проблемой довольно долго, затем я попытался восстановить проект с
и это помогло.
Примечание. Использование этого подхода приведет к путанице в плагине m2e, поскольку эти два подхода очень разные. m2e добавляет в ваш проект виртуальный узел под названием «Зависимости Maven» и просит Maven добавить туда все зависимости.
mvn eclipse:eclipse
, с другой стороны, создаст много отдельных записей в файле.classpath
. Eclipse будет обрабатывать их так, как если бы вы вручную добавляли JAR-файлы в ваш проект.Если вы не знаете, как работает classpath в Eclipse, такой подход не рекомендуется.
источник
mvn eclipse:eclipse
добавить зависимость проекта к пути сборки Java, чтобы он работал. Кроме того, плагин m2eclipse добавит зависимости проекта только в «Зависимости Maven», которые во вкладке «Библиотеки», и отладчик не сможет найти.Удалите существующую конфигурацию отладки и создайте новую. Это должно решить проблему.
источник
Я столкнулся с той же проблемой, я следовал за нижеуказанными шагами.
Window=> Preferences=> Java=> Installed JREs,
Вы видите на экране выше,
Jre1.8.0_12
выбран.выберите JRE, которую вы используете, и нажмите Edit. Теперь вы должны увидеть ниже экран.
Нажмите на каталог, найдите Jdk, он должен выглядеть ниже.
нажмите ОК, и все готово
источник
java.
подобногоjava.lang.String
)У меня была проблема, что мой Eclipse не отлаживал исходный код моего проекта. Я получаю пустую страницу с "Узлом исходного кода найден".
Пожалуйста, нажмите кнопку Прикрепить исходный код. Затем удалите папку «по умолчанию», затем нажмите «Добавить», перейдите в местоположение проекта и прикрепите. Это сработало для меня
источник
В моем случае, даже после редактирования поиска источника и добавления проекта, это не сработало. Я настроил путь сборки проекта.
После этого я выбрал Системную библиотеку JRE, и она заработала.
источник
Очевидно, Eclipse не знает автоматически, где находится исходный код для зависимых jar-файлов. Непонятно, почему отладчик не может проверять переменные после присоединения источника. Одна возможность - неверный / несовместимый источник.
Предполагая, что у вас есть проект maven и источники зависимостей загружены и доступны в локальном репозитории, вы можете установить m2eclipse , плагин maven eclipse и посмотреть, поможет ли это в решении вашей проблемы.
источник
У вас может быть исходный код зависимости, доступной для Eclipse. Но Eclipse не знает исходного кода для кода, который загружается динамически. Например, через Maven.
В случае Maven я рекомендую использовать плагин run-jetty-run:
http://code.google.com/p/run-jetty-run/
В качестве обходного пути вы также можете подключиться к работающей JVM с помощью отладчика, и вы увидите код. В качестве альтернативы вы можете использовать плагин Dynamic Source Lookup для Eclipse отсюда:
https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup
К сожалению, это не помогло мне, поскольку у него есть проблемы с путями Windows с пробелами.
Я заполнил запрос на улучшение Eclipse Bugzilla, и если вы согласны, что этот вопрос «Источник не найден» должен исчезнуть навсегда, пожалуйста, проголосуйте за него здесь:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065
Спасибо!
Саса
источник
В моем случае в «Attach Source» я добавил другой каталог проекта maven на панели «Source Attachment Configuration». Добавление последней версии jar из репозитория m2 не работает. Все классы из другого проекта Maven не удалось открыть.
Здесь test был мой другой проект maven, содержащий все исходники java.
источник
Нажмите -> Изменить исходный путь поиска
после того
Нажмите -> Добавить, наконец, выберите проект Java и выберите путь к проекту.
Источник: https://www.youtube.com/watch?v=IGIKPY6q1Qw
источник
У меня была та же проблема. В моем случае я отключил Window-Preferences-Java-Debug [Приостановить выполнение на необработанных исключениях]. Затем консоль показала мне правильную ошибку: мой пользователь MySql не имел прав доступа к базе данных. По этой теме.
источник
Информация: это возможное решение, когда вы используете maven (pom.xml) с несколькими проектами.
Если вы работаете с maven, убедитесь, какую версию вы используете внутри соответствующего pom.xml (например, 1.0.1-SNAPSHOT). Возможно, ваш код обновлен, но ваши зависимости pom.xml по-прежнему принимают старые JAR-файлы / снимки (со старым кодом).
Нахождение проблемы:
источник
Если вы используете eclipse или STS, пожалуйста, установите и используйте GC (плагин GrepCode), иногда вам не нужно прикреплять исходный файл .zip к пути вашего проекта, чтобы GrepCode работал нормально для вас.
источник
У меня была проблема, связанная с отладкой сервера Glassfish в Eclipse. Это было вызвано загрузкой исходного кода из другого хранилища (переход с SVN на GitHub). При этом сервер Glassfish использовал неправильные скомпилированные классы, и, следовательно, время источника и выполнения не синхронизировалось с точками останова, появляющимися в пустых строках.
Чтобы решить эту проблему, переименуйте или удалите верхнюю папку каталога классов, и Glassfish заново создаст все дерево каталогов классов, включая обновление файлов классов с правильно скомпилированной версией.
Каталог классов находится в: / workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <ваше веб-приложение> / WEB-INF / classes
источник
В моем случае с проектами Tomcat я проверил проект здесь: Окно - Настройки - Tomcat - Исходный путь - Добавить Java-проекты в исходный путь
источник
В моем случае версия Maven другого ссылочного проекта не соответствовала версии тестового проекта. Когда они были одинаковыми, проблема исчезла.
источник
При работе в режиме отладки нажмите «Редактировать поиск источника» после приостановки из потока. На этом этапе мы сможем добавить необходимый проект / jar, который содержит ваш исходный код. После того, как я добавил свой текущий проект таким образом, он решил мою проблему. Спасибо
источник
Если вы хотите присоединить исходный код к любому JAR путем автоматической загрузки, попробуйте использовать этот подключаемый модуль Eclipse Java Source Attacher
источник
У меня была эта проблема, когда я работал над кодом Java, чтобы выполнить обработку файла Excel, содержащего набор данных, а затем преобразовать его в файл .csv, я попробовал ответы на этот пост, но они не работали. проблема была в самих jar-файлах. после загрузки необходимых jar-файлов один за другим (старые версии) и добавления их в мой проект ошибка «источник не найден» исчез. Может быть, вы можете проверить свои файлы JAR. надеюсь, это поможет.
источник
это сработало для меня
щелкните правой кнопкой мыши по проекту -> Свойства -> Сборка развертывания -> добавьте свой флягу
источник
Перейдите к настройке Debug в eclipse и используйте приведенную ниже цель для запуска вашего приложения.
-Dmaven.surefire.debug
например
-Dmaven.surefire.debug exec: Java
источник
Ну, вот что сработало для меня. Я перепробовал все возможные решения на StackOverflow, которые были. Я попытался изменить свое местоположение источника в меню отладки, я установил Eclipse-плагин m2e, я перешел со встроенного Maven и установил run-jetty-run, но ничего не получилось. Теперь я хочу предупредить, что я не пытался просматривать исходный код внешнего человека, я просто хотел увидеть свой СОБСТВЕННЫЙ код, но каждый раз, когда я «заходил» к своим методам, которые я написал, которые были в МОЕМ проекте, я получал Ошибка «Источник теперь найден».
После того, как я наконец спросил эксперта, моя проблема заключалась в том, что первое, что Eclipse делал, вызывал ClassLoader, который вы можете увидеть из стека отладки. Все, что мне нужно было сделать, это F6 (шаг), а затем он вернул меня к исходному вызову, а затем F5 (шаг). И там был мой код. Вздох ... такое простое исправление, но потерянный час.
источник
Для начинающих,
Существует вероятность того, что файл jar является частью проекта, который вы еще не включили в рабочую область Eclipse.
Для этого вам нужно знать имя проекта файла jar. Скажем, например, его abc -18.0.0-SNAPSHOT.jar, это означает, что проект, который вы должны включить в ваше рабочее пространство, это abc .
источник
У меня была такая же проблема с eclipse 2019-03 (4.11.0), и я смог решить эту проблему только путем отладки с помощью удаленной отладки вместо непосредственного запуска в режиме отладки.
источник
Прикрепить источник -> Добавить -> Внешний архив -> выбрать банку -> открыть -> готово
Подвох - это поискать в банке с источниками и прикрепить эту банку.
например, фляга заканчивается "-sources" Stax2-api-3.4.1-sources
источник
Если вы пытаетесь отладить свой Java-проект Maven, и eclipse не может найти ваш источник, попробуйте один из них.
Попробуйте maven-> update и затем отладьте
теперь попробуйте отладку
источник
В eclipse photon попробуйте отключить «Окно-> Настройки-> Java-> Отладка-> Использовать расширенный поиск исходного кода»
Редактировать: в этой версии eclipse есть связанная ошибка, которая приводит к сообщению «источник не найден» при отладке приложений Java. См. Сообщение об ошибке bugs.eclipse.org/bugs/show_bug.cgi?id=537699 для получения дополнительной информации.
источник