Когда вы используете Maven в IDE, вы часто обнаруживаете необходимость в вашей IDE для разрешения исходного кода и Javadocs для ваших библиотечных зависимостей. Есть простой способ достичь этой цели.
Первая команда попытается загрузить исходный код для каждой из зависимостей в вашем файле pom.
Вторая команда попытается загрузить Javadocs.
Мейвен во власти библиотечных упаковщиков здесь. Таким образом, у некоторых из них не будет упакованного исходного кода, а у многих из них не будет Javadocs.
В случае, если у вас много зависимостей, было бы также неплохо использовать включения / исключения для получения определенных артефактов, например, следующая команда будет загружать только источники для зависимости с определенным artifactId:
Он помещает их в тот же каталог, что и двоичные JAR-файлы в M2_HOME.
Ален О'Ди
19
Если вы используете eclipse, может быть полезно потом выполнить mvn eclipse: eclipse и затем обновить ваш проект в eclipse - это избавит вас от ручного присоединения источников к каждому файлу.
unigeek
1
Я не могу найти источники и javadocs после их загрузки. Я проверил каждый каталог в M2_HOME
Патрик Кирнан
2
После mvn dependency:resolve -Dclassifier=javadocIntelliJ IDEA автоматически замечает javadocs, что очень приятно.
Джоник
89
Настройка и запуск плагина maven-eclipse (например, из командной строки mvn eclipse:eclipse)
Что вы имеете в виду? Вы имеете в виду, что исходники и документы загружаются при запуске, mvn eclipse:eclipseесли вы добавляете это в файл POM?
Лий
3
Да. Просто как тот.
RobAu
@RobAu, куда будет загружаться исходный код, будет ли он прикреплен к самому проекту или где-то еще?
Jaskey
1
Он будет загружен как jar, M2_REPOкак xxxx-yy-sources.jar, в том же месте, что и обычный jar. Он будет прикреплен в виде исходного кода для xxxx-yy jar в библиотеках
RobAu
1
@KanagaveluSugumar вам нужно добавить M2_REPO для затмения, а затем просто обновить проект.
RobAu
36
Если проект создает банку с исходными файлами проекта и развертывает его в репозитории maven, то вы найдете его :)
Просто к сведению, исходные артефакты обычно создаются с помощью maven-source-plugin . Этот плагин может объединить основные или тестовые источники проекта в jar-архив и, как описано в разделе «Настройка исходного плагина» :
(...) Сгенерированный jar-файл будет назван по значению finalNameплюса "-sources", если это основные источники. В противном случае это будет finalNameплюс "-test-sources", если это тестовые источники.
Дополнительный текст был дан для описания артефакта («-sources» или «-test-sources» здесь) называется классификатором.
Чтобы объявить зависимость от артефакта, который использует классификатор, просто добавьте <classifier>элемент. Например:
Обратите внимание, что обычно вы этого не делаете, большинство IDE предоставляют поддержку для загрузки источников (и / или JavaDoc) из основного артефакта без явного объявления зависимости от них.
Наконец, также обратите внимание, что некоторые поисковые системы хранилища позволяют искать артефакты с использованием классификатора (по крайней мере, Nexus делает с расширенным поиском). Посмотрите этот поиск, например.
Вместо того, чтобы загружать источники для всех зависимостей, можно ли загрузить только некоторые зависимости, указав их в pom вместе с самой зависимостью, может b через некоторый внутренний тег в теге зависимостей или что-то подобное?
Нанософт
Этот плагин вышел в отставку
килтек
18
Чтобы скачать какой-то конкретный источник или javadoc, нам нужно включить GroupIds - значение через запятую, как показано ниже
Обратите внимание, что классификатор не разделен запятыми, чтобы скачать javadoc, нам нужно еще раз запустить приведенную выше команду с классификатором как javadoc.
Вместо того, чтобы загружать источники для всех зависимостей, можно ли загрузить только некоторые зависимости, указав их в pom вместе с самой зависимостью, может b через некоторый внутренний тег в теге зависимостей или что-то подобное?
Когда я следил за ответом @ RobAu, из репозитория загружаются только документы Hibernate , а не Spring . Затем я захожу по ссылке, которую вы предоставили и следовали за @ mrembisz, и вносил изменения в предпочтения Maven и работает как шарм. Я получаю Spring Docs . @Stefan De Boey Спасибо, что поделились этим. +1.
OO7
9
если вы используете eclipse, вы также можете открыть Preferences> Maven и выбрать Download Artifact Sources, это позволит pom.xml не тронуться и сохранить ваши исходники или документы Java (если они выбраны) только для разработки прямо на вашем компьютере ~ / .m2
Я снял флажок «скачивать источники артефактов» в настройках Eclipse Maven, поэтому он скачивал только банку. Но последнее, я пытался использовать это решение для загрузки исходного кода, оно не удалось без каких-либо сообщений. Я удалил папку jar в локальном репозитории maven и снова загрузил jar, после чего исходный файл jar загрузился успешно. Я думаю, это потому, что в локальном репозитории maven есть jar, поэтому я не могу использовать этот метод для загрузки исходного кода.
откровенно
4
Вы можете, если они загружены. Обычно они называются "frameworkname-version-source (source)"
В NetBeans 8 с проектом, управляемым Maven, просто щелкните по контексту элемент списка файлов jar той зависимости, которая вас интересует. выбиратьDownload Sources . Подождите немного, и NetBeans автоматически загрузит и установит исходный код, если он доступен.
Точно так же вы можете выбрать, Download Javadocчтобы документ был установлен локально. Затем вы можете щелкнуть по контексту некоторый код в редакторе и выбрать просмотр JavaDoc.
Основываясь на просмотре консоли Maven в Eclipse (Kepler), исходные файлы будут автоматически загружаться для зависимости Maven, если вы попытаетесь открыть класс из указанной зависимости Maven в редакторе, для которого у вас еще не загружены исходные коды. Это удобно, когда вы не хотите получать исходные тексты для всех ваших зависимостей, но не знаете, какие из них вы хотите заблаговременно (и вы используете Eclipse).
Я также использовал плагин eclipse, чтобы поместить проект в рабочую область eclipse. Так как я работал над другим проектом, я увидел, что можно работать с eclipse, но без maven-eclipse-plugin. Это облегчает использование в различных средах и позволяет легко использовать maven поверх затмения. И это без изменения pom.xml-файла.
Для отладки вы также можете использовать «Java Decompiler», такой как: JAD и декомпилировать исходный код на лету (хотя сгенерированный исходный код никогда не совпадает с исходным). Затем установите JAD в качестве плагина в Eclipse или вашей любимой IDE.
В противном случае, вы всегда можете "git clone" репозиторий из github, если его там и получить конкретный код.
Как объясняли другие, вы можете использовать команду «mvn dependency: sources» для получения и генерации jar-файлов для используемой зависимости.
Примечание. У некоторых зависимостей не будет source.jar, поскольку они не содержат исходного кода, а содержат файл pom. например, пружинный привод, пускатель, привод . Как и в этом случае:
Начальные POM - это набор удобных дескрипторов зависимостей, которые вы можете включить в свое приложение. Вы получаете универсальное решение для всех необходимых вам Spring и связанных с ними технологий, без необходимости искать примеры кода и копировать множество дескрипторов зависимостей.
Если вы хотите найти исходный файл jar для любого из артефактов вручную, перейдите в местоположение репозитория maven для конкретного артефакта и в «Файлах» нажмите «просмотреть все». Вы можете найти исходный файл JAR.
Ответы:
Источник: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
Документация: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
источник
mvn dependency:resolve -Dclassifier=javadoc
IntelliJ IDEA автоматически замечает javadocs, что очень приятно.Настройка и запуск плагина maven-eclipse (например, из командной строки
mvn eclipse:eclipse
)источник
mvn eclipse:eclipse
если вы добавляете это в файл POM?M2_REPO
как xxxx-yy-sources.jar, в том же месте, что и обычный jar. Он будет прикреплен в виде исходного кода для xxxx-yy jar в библиотекахЕсли проект создает банку с исходными файлами проекта и развертывает его в репозитории maven, то вы найдете его :)
Просто к сведению, исходные артефакты обычно создаются с помощью maven-source-plugin . Этот плагин может объединить основные или тестовые источники проекта в jar-архив и, как описано в разделе «Настройка исходного плагина» :
Дополнительный текст был дан для описания артефакта («-sources» или «-test-sources» здесь) называется классификатором.
Чтобы объявить зависимость от артефакта, который использует классификатор, просто добавьте
<classifier>
элемент. Например:Обратите внимание, что обычно вы этого не делаете, большинство IDE предоставляют поддержку для загрузки источников (и / или JavaDoc) из основного артефакта без явного объявления зависимости от них.
Наконец, также обратите внимание, что некоторые поисковые системы хранилища позволяют искать артефакты с использованием классификатора (по крайней мере, Nexus делает с расширенным поиском). Посмотрите этот поиск, например.
источник
Maven идеи плагина для IntelliJ Idea позволяет указать , должны ли быть разрешены и загрузить источники и яву документ
источник
Чтобы скачать какой-то конкретный источник или javadoc, нам нужно включить GroupIds - значение через запятую, как показано ниже
Обратите внимание, что классификатор не разделен запятыми, чтобы скачать javadoc, нам нужно еще раз запустить приведенную выше команду с классификатором как javadoc.
источник
Для загрузки любого артефакта используйте
Для Groovy источников это будет
Для javadoc Groovy вы бы использовали
Это помещает данный артефакт в ваш локальный репозиторий Maven, то есть обычно
$HOME/.m2/repository
.dependency:sources
просто загружает источники зависимостей проекта, а не источники плагинов или источники зависимостей, определенные внутри плагинов.источник
Вы можете найти информацию в этом связанном вопросе: Получить исходные jar-файлы, прикрепленные к Eclipse для зависимостей, управляемых Maven,
если вы используете плагин eclipse maven, то используйте «mvn eclipse: eclipse -DdownloadSources = true»
источник
если вы используете eclipse, вы также можете открыть Preferences> Maven и выбрать Download Artifact Sources, это позволит pom.xml не тронуться и сохранить ваши исходники или документы Java (если они выбраны) только для разработки прямо на вашем компьютере ~ / .m2
источник
В затмении
pom.xml
Run As
->Maven generate-sources
он будет генерировать источник по умолчанию в папке .m2
Pre-Реквизит:
Maven должен быть настроен с Eclipse.
источник
В затмении - нажмите на проект, затем:
,
источник
Вы можете, если они загружены. Обычно они называются "frameworkname-version-source (source)"
источник
NetBeans, контекстный клик
В NetBeans 8 с проектом, управляемым Maven, просто щелкните по контексту элемент списка файлов jar той зависимости, которая вас интересует. выбирать
Download Sources
. Подождите немного, и NetBeans автоматически загрузит и установит исходный код, если он доступен.Точно так же вы можете выбрать,
Download Javadoc
чтобы документ был установлен локально. Затем вы можете щелкнуть по контексту некоторый код в редакторе и выбрать просмотр JavaDoc.источник
Основываясь на просмотре консоли Maven в Eclipse (Kepler), исходные файлы будут автоматически загружаться для зависимости Maven, если вы попытаетесь открыть класс из указанной зависимости Maven в редакторе, для которого у вас еще не загружены исходные коды. Это удобно, когда вы не хотите получать исходные тексты для всех ваших зависимостей, но не знаете, какие из них вы хотите заблаговременно (и вы используете Eclipse).
В итоге я использовал подход @ GabrielRamierez , но в дальнейшем буду использовать подход @ PascalThivent .
источник
Если вы знаете groupId и aritifactId , вы можете сгенерировать URL-адрес для загрузки следующим образом.
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
и вы получите страницу, подобную этой, выберите нужную версию, просто наслаждайтесь!
источник
Я также использовал плагин eclipse, чтобы поместить проект в рабочую область eclipse. Так как я работал над другим проектом, я увидел, что можно работать с eclipse, но без maven-eclipse-plugin. Это облегчает использование в различных средах и позволяет легко использовать maven поверх затмения. И это без изменения pom.xml-файла.
Итак, я рекомендую подход Габриэля Рамиреса.
источник
Для отладки вы также можете использовать «Java Decompiler», такой как: JAD и декомпилировать исходный код на лету (хотя сгенерированный исходный код никогда не совпадает с исходным). Затем установите JAD в качестве плагина в Eclipse или вашей любимой IDE.
источник
Репозитории Maven предоставляют простой способ загрузки исходных файлов jar.
Я объясню это, используя демонстрацию для «spring-boot-actator-autoconfigure».
В противном случае, вы всегда можете "git clone" репозиторий из github, если его там и получить конкретный код.
Как объясняли другие, вы можете использовать команду «mvn dependency: sources» для получения и генерации jar-файлов для используемой зависимости.
Примечание. У некоторых зависимостей не будет source.jar, поскольку они не содержат исходного кода, а содержат файл pom. например, пружинный привод, пускатель, привод . Как и в этом случае:
Ссылка: Введение в Spring Boot Starters
источник
В IntelliJ IDEA вы можете автоматически загружать источники артефактов при импорте, включив параметр «Автоматически загружать источники»:
Settings
→Build, Execution, Deployment
→Build Tools
→Maven
→Importing
источник
Если вы хотите найти исходный файл jar для любого из артефактов вручную, перейдите в местоположение репозитория maven для конкретного артефакта и в «Файлах» нажмите «просмотреть все». Вы можете найти исходный файл JAR.
источник