Получите исходные файлы jar, прикрепленные к Eclipse для зависимых от Maven зависимостей

Я использую Maven (и Maven Eclipse Integration) для управления зависимостями для моих проектов Java в Eclipse. Функция автоматической загрузки файлов JAR из репозиториев Maven – это экономия в реальном времени. К сожалению, он не включает документацию API и исходный код.

Как я могу настроить Maven для автоматического получения вложений источника и javadoc и правильно зарегистрировать их с помощью Eclipse?

Я уверен, что meclipse плагин Maven для Eclipse – наоборот – может это сделать. Вы можете настроить его для автоматической загрузки как исходных файлов, так и javadoc.

Это достигается путем перехода в Window> Preferences> Maven и проверки параметров «Загрузить файлы артефактов» и «Загрузить артефакт JavaDoc».

Screenshot of Maven Preferences

mvn eclipse:eclipse -DdownloadSources=true 

или

 mvn eclipse:eclipse -DdownloadJavadocs=true 

или вы можете добавить оба флага, как указывает Spencer K.

Кроме того, =true часть не требуется, поэтому вы можете использовать

 mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs 

Другие ответы на эту работу, но если вы хотите избежать необходимости запоминать аргументы командной строки, вы также можете просто добавить в downloadSources и загрузить конфигурацию javadocs в раздел maven-eclipse-plugin вашего pom.xml:

  ...    org.apache.maven.plugins maven-eclipse-plugin  true true ... other stuff ...     ...  

Я предпочитаю не устанавливать исходные / Javadoc параметры загрузки в файл проекта pom.xml поскольку я считаю, что это предпочтения пользователя, а не свойства проекта. Вместо этого я помещаю их в профиль в свой файл settings.xml :

     sources-and-javadocs  true true     sources-and-javadocs   

Если исходные банки находятся в локальном репозитории, и вы используете поддержку Eclipses maven, источники автоматически присоединяются. Вы можете запустить mvn dependency:sources чтобы загрузить все исходные банки для данного проекта. Не уверен, как сделать то же самое с документацией.

Щелкните правой кнопкой мыши по проекту -> maven -> скачать источники

Существует также аналогичный вопрос, который отвечает на этот вопрос и включает пример настроек pom.

Если вы используете meclipse do

window -> maven -> Загрузить источники артефактов (выберите чек)

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

Surajz

Я попробовал windows-> pref ..-> Maven Но это не сработало. Поэтому я создал новый путь classа с командой mvn eclipse: eclipse -DdownloadSources = true и обновил рабочее пространство один раз. вуаля .. Источники были прикреплены.

Запись источника jar доступна в пути classа. Поэтому новая assembly решила проблему …

Изменение pom для maven-eclipse-plugin для включения source / javadoc просто применяется для добавления новых зависимостей в pom. Если нам нужно применить существующие зависимости, мы должны запустить mvn dependency: sources. Я проверил это.

Проверка источника загрузки / javadoc в предпочтении Eclipse-Maven, иногда недостаточно. В случае, если maven не удалось загрузить их по какой-либо причине (сетевое затемнение?), Maven создает некоторые * .lastUpdated файлы, а затем никогда не будет загружаться снова. Моим эмпирическим решением было удалить каталог артефакта из .m2 / repository и перезапустить рабочее пространство eclipse с проверенными и обновленными проектами загрузки / javadoc при запуске. После перезапуска рабочего пространства, возможно, некоторые проекты могут быть помечены с ошибкой, а процесс затмения будет загружен, тогда любая ошибка будет удалена. Возможно, эта процедура не так «научна», но для меня это удалось.

в моей версии Eclipse helios с m2Eclipse нет

 window --> maven --> Download Artifact Sources (select check) 

Под окном находится только «новое окно», «новый редактор», «открытая перспектива» и т. Д.

Если вы щелкните правой кнопкой мыши на своем проекте, выберите maven -> источники загрузки

Ничего не произошло. никакие источники не загружаются, файлы pom не обновляются, окно не появляется, спрашивая, какие источники.

Выполнение mvn xxx вне eclipse опасно – некоторые команды не работают с m2ecilpse – я сделал это один раз и потерял весь проект, пришлось переустановить eclipse и начать с нуля.

Я все еще ищу способ получить ecilpse и maven, чтобы найти и использовать источник внешних банок, таких как servlet-api.

Я добавил конфигурацию pom к плагину maven-eclipse для загрузки источника и javadocs, но я полагаю / надеюсь, что это произойдет для новых зависимостей, а не уже существующих.

Для существующих зависимостей я просматривал в пакете explorer до «Maven Dependencies» и щелкнул правой кнопкой мыши на commons-lang-2.5.jar, выбранном Maven | Загрузите Источники и … ничего не произошло (нет индикатора прогресса или указания на то, что он что-то делает). Однако он загрузился, так как теперь я могу перейти к исходному коду.

overthink предложил использовать настройку в pom:

  ...    org.apache.maven.plugins maven-eclipse-plugin  true true ... other stuff ...     ... 

Сначала я думал, что это все равно не будет прикреплять javadoc и источники (поскольку я безуспешно пытался использовать этот параметр -DdownloadSources).

Но сюрприз – файл .classpath получает свои источники и javadoc при использовании варианта POM!

Для Indigo (и, вероятно, Helios) отмеченные выше флажки расположены здесь:

Окно -> Настройки -> Maven

У меня была аналогичная проблема, и решение, которое наилучшим образом Foo.java мне, состояло в том, чтобы включить источник в ту же банку, что и скомпилированный код (поэтому данный каталог в банке будет включать как Foo.java и Foo.class ). Eclipse автоматически связывает источник с скомпилированным кодом и автоматически предоставляет JavaDoc из источника. Очевидно, что это полезно, если вы контролируете артефакт.

После того, как вы установили свойства на уровне Project Level или User Properties, выполните Maven -> Update Project (Force Update). Он загружает источники

  • В чем разница между «mvn deploy» и локальным репо и «mvn install»?
  • Maven: команда для обновления репозитория после добавления зависимости от POM
  • Включая зависимости в банке с Maven
  • Можно ли добавить jars в maven 2 build classpath без их установки?
  • Есть ли способ «сбой быстро» для junit с плагином maven surefire?
  • Настройка пространства кучи Java под Maven 2 в Windows
  • Как создать график зависимости между всеми модулями проекта Maven?
  • С Maven, как я могу создать дистрибутив, который имеет банку моего проекта и все зависимые банки?
  • Добавить зависимость в Maven
  • Найти драйвер Oracle JDBC в репозитории Maven
  • maven2: исключая каталог из WAR
  • Давайте будем гением компьютера.