Получить исходные банки из репозитория 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

  1. щелкните правой кнопкой мыши pom.xml
  2. выберите Run As ->Maven generate-sources
    он будет генерировать источник по умолчанию .папка м2

Предпосылки:

Maven должен быть настроен с Eclipse.


в eclipse-нажмите на проект, затем:

enter image description here.


вы можете, если они загружены. Как правило, они называются " frameworkname-version-source(s)"


на основе просмотра консоли Maven в Eclipse (Kepler) источники будут автоматически загружены для зависимости Maven, если вы попытаетесь открыть класс из указанной зависимости Maven в редакторе, для которого у вас нет уже загруженных источников. Это удобно, когда вы не хотите захватывать источник для всех ваших зависимостей, но вы не знаете, какие из них вы хотите раньше времени (и вы используете Eclipse).

Я закончил с помощью @GabrielRamierez по подходи!--4-->, но будет использовать @PascalThivent это идти вперед.


NetBeans, Контекстный Щелчок

на NetBeans 8 С проектом, управляемым Maven, просто контекстно-щелкните элемент списка файлов jar зависимости, в которой вы заинтересованы. Выберите Download Sources. Подождите минутку, и NetBeans автоматически загрузит и установит исходный код, если он доступен.

так же вы можете выбрать Download Javadoc чтобы локально установить doc. Затем вы можете контекстно щелкнуть некоторый код в редакторе и выбрать, чтобы увидеть JavaDoc.

screen shot of context-menu item "Download Sources" being chosen in a NetBeans 8 project driven by Maven


Я также использовал плагин 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/

и вы получите такую страницу, выберите нужную версию, просто наслаждайтесь ею! enter image description here

enter image description here