Получить исходные банки из репозитория Maven
кто-нибудь знает, Можете ли вы найти исходные банки в репозиториях Maven?
15 ответов
Maven Micro-Tip: получить источники и Javadocs
когда вы используете Maven в IDE, вам часто нужно, чтобы ваша IDE разрешала исходный код и Javadocs для ваших зависимостей библиотеки. Есть простой способ достичь этой цели.
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
первая команда попытается загрузить исходный код для каждой из зависимостей в вашем файле pom.
вторая команда попытается загрузить Javadocs.
Maven находится во власти библиотечных упаковщиков здесь. Поэтому у некоторых из них не будет исходного кода, и у многих из них не будет Javadocs.
в случае, если у вас есть много зависимостей, также может быть хорошей идеей использовать включения/исключения для получения определенных артефактов выполните следующую команду будет, например, загружать только источники для зависимости с помощью специфический artifactId:
mvn dependency:sources -DincludeArtifactIds=guava
источник: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
документация:https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
при запуске Eclipse из командной строки ( mvn eclipse:eclipse
)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
если проект создает jar источников проекта и развертывает его в репозитории maven, то вы найдете его:)
просто FYI, артефакты источников обычно создаются maven-source-плагин. Этот плагин может связывать основные или тестовые источники проекта в архив jar и, как описано в Настройка Плагина Источник:
(...) Сгенерированный файл jar будет называться значением
finalName
plus "- sources", если это это основные источники. Иначе это было быfinalName
плюс"-test-sources", если это тестовые источники.
дополнительный текст был дан для описания артефакта ("- sources "или"-test-sources " здесь) называется классификатором.
чтобы объявить зависимость от артефакта, использующего классификатор, просто добавьте <classifier>
элемент. Например:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<classifier>sources</classifier>
</dependency>
обратите внимание, что вы обычно этого не делаете, большинство IDEs обеспечивают поддержку источников загрузки (и / или JavaDoc) из основного артефакта без явного объявления зависимости от них.
наконец, Также обратите внимание, что некоторые поисковые системы репозитория позволяют искать артефакты с помощью классификатора (по крайней мере, Nexus делает с расширенным поиском). См.поиска например.
скачать конкретный источник или javadoc нам нужно включить GroupIds-его значение, разделенное запятыми, как показано ниже
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
обратите внимание, что классификатор не разделен запятыми, чтобы загрузить javadoc, нам нужно запустить вышеуказанную команду еще раз с классификатором как javadoc
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
на Мэйвен идея плагина для IntelliJ Idea позволяет указать, должны ли быть разрешены и загружены источники и Java doc
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
для загрузки любого артефакта используйте
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
для заводных источников это будет
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
для javadoc Groovy вы бы использовали
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
это помещает данный артефакт в ваш локальный репозиторий Maven, т. е. обычно $HOME/.m2/repository
.
dependency:sources
просто загружает источники зависимостей проекта, а не источники плагинов или источники зависимостей, определенных внутри плагинов.
вы можете найти информацию на этот вопрос: получить исходные файлы jar, прикрепленные к Eclipse для зависимостей, управляемых Maven
если вы используете плагин eclipse maven, используйте "mvn eclipse:eclipse-DdownloadSources=true"
Если вы используете eclipse, вы также можете открыть Настройки > Maven и выбрать Загрузить источники артефактов, это позволит pom.xml неповрежденным и сохранить ваши источники или Java docs (если выбрано) только для разработки прямо на вашем компьютере местоположение ~/.м2
В Eclipse
- щелкните правой кнопкой мыши
pom.xml
- выберите
Run As
->Maven generate-sources
он будет генерировать источник по умолчанию .папка м2
Предпосылки:
Maven должен быть настроен с Eclipse.
на основе просмотра консоли Maven в Eclipse (Kepler) источники будут автоматически загружены для зависимости Maven, если вы попытаетесь открыть класс из указанной зависимости Maven в редакторе, для которого у вас нет уже загруженных источников. Это удобно, когда вы не хотите захватывать источник для всех ваших зависимостей, но вы не знаете, какие из них вы хотите раньше времени (и вы используете Eclipse).
Я закончил с помощью @GabrielRamierez по подходи!--4-->, но будет использовать @PascalThivent это идти вперед.
NetBeans, Контекстный Щелчок
на NetBeans 8 С проектом, управляемым Maven, просто контекстно-щелкните элемент списка файлов jar зависимости, в которой вы заинтересованы. Выберите Download Sources
. Подождите минутку, и NetBeans автоматически загрузит и установит исходный код, если он доступен.
так же вы можете выбрать Download Javadoc
чтобы локально установить doc. Затем вы можете контекстно щелкнуть некоторый код в редакторе и выбрать, чтобы увидеть JavaDoc.
Я также использовал плагин eclipse, чтобы получить проект в рабочей области eclipse. Поскольку я работал над другим проектом, я увидел, что можно работать с eclipse, но без плагина maven-eclipse. Это упрощает использование с различными средами и позволяет легко использовать maven над eclipse. И это без изменения помпона.XML-файл.
Итак, я рекомендую подход Габриэля Рамиреса.
Если вы знаете groupId и aritifactId,вы можете создать URL-адрес загрузки, как это.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
и вы получите такую страницу, выберите нужную версию, просто наслаждайтесь ею!