2012-05-13 2 views
18

Я загрузил источник для всех JAR Maven в моем пути построения, используя Maven-> Download Sources и mvn eclipse:eclipse -DdownloadSources=true, который сработал! Когда я открываю путь сборки, я вижу, что JAR-файлы источников прикреплены для каждого файла JAR.Eclipse не собирает источник Maven при отладке

Но когда я запускаю проклятую вещь на Tomcat 6, я продолжаю получать страницу «Источник не найден» с помощью кнопки «Изменить исходный путь источника». Но источник уже привязан к пути сборки. Что это не работает?

Когда я вручную указываю его на JAR-файл, нажав кнопку «Изменить путь к исходному файлу», он работает. И когда я вручную указываю его на папку, он не работает. Почему Eclipse или Tomcat не собирают подключенный источник в пути сборки?

Примечание: Я использую Apache-Maven-3.0.4, Apache-Tomcat-6.0.16 и Eclipse, Indigo Service Release 2.

ответ

14

Хотя эта ошибка имела наибольшее количество голосов всех ошибок @Sonatype , он не был исправлен.

Однако я заполнил запрос об улучшении на Eclipse Bugzilla, и, если вы согласны с этой проблемой, «Исходный не найден» должен быть исправлен, пожалуйста, проголосуйте за него here.

Вы можете найти три обходных пути here.

+0

Исправлена ​​ошибка появляется теперь установлен. – cellepo

+0

@cellepo У меня в настоящее время проблема, которая [звучит знакомо] (http://stackoverflow.com/questions/37690353/eclipse-does-not-show-source-code-of-dependencies-in-debug-view) :( – displayname

+1

Эта проблема существует в версии: Oxygen.1a Release (4.7.1a) Код сборки: 20171005-1200. –

1

В моем случае проблема была связана с исходным кодом, прилагаемым к «Конфигурации отладки», возможно, некоторые остатки образуют миграцию в Maven.

Я решил это, перейдя на страницу «Конфигурации отладки ...» и выбрав конфигурацию в случае, а затем на вкладке «Источники» я восстановил значения по умолчанию, которые добавили все зависимости Maven проекта.

0

Window-> Настройки-> JBoss Tools-> Источник Поиск

убедитесь, что вы установите флажок «Автоматически добавлять исходный контейнер JBoss Maven для всех JBoss В конфигурации запуска». и в разделе «Автоматическая настройка исходного источника Java», выберите «Всегда».

Это помогает мне решить эту проблему.

0

Я думаю, что исправил это для себя, обновив свой Eclipse m2e. Я думаю, что у меня была версия ~ 1.2, а затем обновлена ​​до последней версии [с момента написания] 1.6.2.

Eclipse Bug comments помог мне разобраться в этом.

Теперь я могу отлаживать свой пакет gquery-dnd-bundle-1.0.6!

5

Я нашел этот com.ifedorenko.m2e.sourcelookup плагин. Ссылка была предоставлена ​​в «Java Debugging: Source not found».

Перейти к Help > Install New Software .. и использовать

http://ifedorenko.github.com/m2e-extras/

для поиска ссылок. После установки этого плагина я наконец смог отлаживать исходный код зависимостей.

-1
 <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> 
+2

Ваш ответ, безусловно, стоит немного пояснить. Пожалуйста, обратитесь к http://stackoverflow.com/help/ как ответить. –

-1

Проект «target» maven должен испускать исходный код, прежде чем «клиентские» проекты могут иметь доступ к исходному коду. Я решил проблему, используя maven-source-pluging в «целевом» проекте: https://maven.apache.org/plugins/maven-source-plugin/index.html

Просто используйте следующий фрагмент в файле pom.xml целевого проекта, сделайте выпуск и используйте версию выпуска в файл pom.xml клиентского проекта. Тогда затмение может автоматически позволить вам "прыгать" на целевом проекте seamlesly:

 <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> 
0

Использование Внешний Maven вместо используемого по умолчанию Embedded в Debug Configurations диалога.

Пожалуйста, смотрите пример ниже скриншот (меню Run -> Debug Configurations ...):

Configure external Maven

Испытано среда:

  • Eclipse IDE для Java-разработчиков: Oxygen.1a Release (4.7.1a), 64-бит (от spring.io)
  • Oracle JDK jdk1.8.0_144, 64-bit
  • Maven: 3.5.2
  • ОС: Windows 10 Enterprise N, 64-разрядный
  • Test цель hpi:run (образец Дженкинс плагин)
Смежные вопросы