Eclipse не собирает источник Maven при отладке
Я загрузил источник для всех JAR Maven в мой путь сборки, используя Maven- > Download Sources и mvn eclipse:eclipse -DdownloadSources=true
, которые сработали! Когда я открываю путь сборки, я вижу, что JAR файлы источников прикреплены для каждого файла JAR.
Но когда я запускаю проклятую вещь на Tomcat 6, я продолжаю получать страницу "Source not found" с кнопкой "Edit Source lookup path". Но источник уже привязан к пути сборки. Что это не работает?
Когда я вручную укажу его в файл JAR, щелкнув по кнопке "Изменить путь к исходному файлу", он будет работать. И когда я вручную указываю его на папку, он не работает. Почему Eclipse или Tomcat не собирают подключенный источник в пути сборки?
Примечание. Я использую apache-maven-3.0.4, apache-tomcat-6.0.16 и Eclipse Indigo Service Release 2.
Ответы
Ответ 1
Хотя в этой ошибке было больше голосов всех ошибок @Sonatype, она не была исправлена.
Однако я заполнил запрос расширения на Eclipse Bugzilla, и, если вы согласны с этой проблемой, "Исходный не найден" должен быть исправлен, пожалуйста, проголосуйте за него здесь.
Вы можете найти три обхода здесь.
Ответ 2
Я нашел этот плагин com.ifedorenko.m2e.sourcelookup. Ссылка была представлена в разделе Отладка Java: источник не найден.
Перейдите к Help > Install New Software ..
и используйте
http://ifedorenko.github.com/m2e-extras/
чтобы найти ссылки. После установки этого плагина я наконец смог отлаживать исходный код зависимостей.
Ответ 3
В моем случае проблема была связана с исходным кодом, прилагаемым к "Конфигурации отладки", возможно, некоторые остатки образуют переход к Maven.
Я решил это, перейдя на страницу "Конфигурации отладки..." и выбрав конфигурацию в случае, а затем на вкладке "Источники" я восстановил значения по умолчанию, которые добавили все зависимости проекта Maven.
Ответ 4
Окно- > Настройки- > JBoss Tools- > Поиск источника
убедитесь, что у вас есть проверка "Автоматически добавлять исходный контейнер JBoss Maven ко всем конфигурациям запуска JBoss As".
и в разделе "Автоматическая настройка исходного источника Java",
выберите "Всегда".
это помогает мне решить проблему.
Ответ 5
Думаю, я исправил это для себя, обновив Eclipse m2e.
Я думаю, что у меня была версия ~ 1.2, а затем обновлена до последней [с момента написания] 1.6.2.
Комментарии Eclipse Bug помогли мне понять это.
Теперь я могу отлаживать мой пакет gquery-dnd-bundle-1.0.6!
Ответ 6
Используйте внешний Maven вместо стандартного встроенного в диалог Конфигурация отладки.
См. пример скриншота ниже (меню Run → Debug Configurations...):
Настроить внешний Maven
Проверенная среда:
- Eclipse IDE для разработчиков Java: Oxygen.1a Release (4.7.1a), 64-разрядный (от spring.io)
- Oracle JDK jdk1.8.0_144, 64-разрядный
- Maven: 3.5.2
- ОС: Windows 10 Enterprise N, 64-разрядный
- Цель тестирования
hpi:run
(образец плагина Jenkins)
Ответ 7
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.maven-source-plugin}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
<goal>test-jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
Ответ 8
Проект "target" maven должен испускать исходный код, прежде чем "клиентские" проекты могут иметь доступ к исходному коду. Я решил проблему, используя maven-source-pluging в проекте "target": https://maven.apache.org/plugins/maven-source-plugin/index.html
Просто используйте следующий фрагмент в файле pom.xml целевого проекта, сделайте выпуск и используйте версию выпуска в файле pom.xml клиентского проекта. Затем затмение может автоматически позволить вам "прыгать" в целевой проект selylesly:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${version.maven-source-plugin}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
<goal>test-jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>