Получить исходные файлы JAR из репозитория Maven - PullRequest
426 голосов
/ 13 января 2010

Кто-нибудь знает, можете ли вы найти исходные JAR-файлы в репозиториях Maven?

Ответы [ 16 ]

772 голосов
/ 12 марта 2010

Maven Micro-Tip: Получить источники и Javadocs

Когда вы используете Maven в IDE, вы часто обнаруживаете необходимость в вашей IDE для разрешения исходного кода и Javadocs для ваших библиотечных зависимостей. Есть простой способ достичь этой цели.

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

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

Вторая команда попытается загрузить Javadocs.

Мейвен находится во власти библиотечных упаковщиков здесь. Поэтому у некоторых из них не будет упакованного исходного кода, а у многих из них не будет Javadocs.

В случае, если у вас много зависимостей, было бы также неплохо использовать включения / исключения, чтобы получить конкретные артефакты, следующая команда будет, например, загружать только источники для зависимости с конкретный артефакт:

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

87 голосов
/ 05 октября 2012

При запуске 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>
33 голосов
/ 13 января 2010

Если проект создает банку с исходными файлами проекта и развертывает его в репозитории maven, то вы найдете его:)

Просто к сведению, исходные артефакты обычно создаются с помощью maven-source-plugin . Этот плагин может объединить основные или тестовые источники проекта в jar-архив и, как описано в Настройка исходного плагина :

(...) Сгенерированный файл JAR будет назван значением finalName плюс «-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>

Обратите внимание, что обычно вы этого не делаете, большинство IDE предоставляют поддержку для загрузки источников (и / или JavaDoc) из основного артефакта без явного объявления зависимости от них.

Наконец, также обратите внимание, что некоторые поисковые системы хранилища позволяют искать артефакты, используя классификатор (по крайней мере, Nexus делает с расширенным поиском). См. этот поиск например.

18 голосов
/ 01 июля 2014

Чтобы загрузить какой-либо определенный источник или javadoc , нам нужно включить GroupIds - значение, разделенное запятыми, как показано ниже

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources

Обратите внимание, что классификатор не разделен запятыми, чтобы скачать javadoc, нам нужно еще раз выполнить указанную выше команду с классификатором как javadoc

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
16 голосов
/ 20 марта 2012

Плагин maven idea для IntelliJ Idea позволяет указать, следует ли разрешать и скачивать исходные тексты и документацию java

mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
13 голосов
/ 07 апреля 2016

Для загрузки любого артефакта используйте

mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier

Для Groovy-источников это будет

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 просто загружает источники зависимостей проекта, а не источники плагинов или источники зависимостей, определенные внутри плагинов.

11 голосов
/ 13 января 2010

Вы можете найти информацию в этом связанном вопросе: Получить исходные файлы jar, прикрепленные к Eclipse для зависимостей, управляемых Maven
если вы используете плагин eclipse maven, тогда используйте 'mvn eclipse: eclipse -DdownloadSources = true'

9 голосов
/ 19 сентября 2012

если вы используете eclipse, вы также можете открыть «Настройки»> «Maven» и выбрать «Загрузить источники артефактов», это позволит pom.xml не тронуться и сохранить ваши исходники или документы Java (если они выбраны) только для разработки прямо на вашем компьютере ~ /.m2

6 голосов
/ 05 сентября 2014

В затмении

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

Pre-Реквизит:

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

4 голосов
/ 16 ноября 2016

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

enter image description here.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...