Как установить артефакт Maven с исходниками из командной строки?


92

Как установить артефакт Maven с исходниками?

поэтому позже мне не нужно открывать проект в eclipse, чтобы увидеть код.

РЕДАКТИРОВАТЬ: я знаю, что могу добавить в pom.xml этот код

<plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
                <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                                <goal>jar</goal>
                        </goals>
                </execution>
        </executions>
</plugin>

но я бы хотел сделать это из командной строки (чтобы было универсальнее).


И где вы хотите эти источники?
Шон Патрик Флойд,

Ответы:


158

Чтобы скачать исходники для ваших зависимостей:

mvn eclipse:eclipse -DdownloadSources=true

Чтобы прикрепить исходники к установке:

mvn source:jar install

Также предпочтительно использовать цель source:jar-no-forkв вашем pom, как описано на странице maven-source-plugin .


но источников установленного снимка не существует :(
IAdapter

63

Просто получите исходники и JavaDocs:

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

2
@csgeek Вопрос неоднозначно сформулирован, может трактоваться по-разному. Cmd загружает mvn src и doc и устанавливает локально, поэтому ручное сопоставление из Eclipse не требуется. См. Ответ dogbane для установки src для локально созданного jar.
Джозеф Ласт,

1
намного лучше и чище ... лучше, чем индивидуальное вмешательство в настройки pom.xml или eclipse, эти вещи меняются чаще.
Картик Каруппаннан,

"mvn source: jar install" не изменит ни pom, ни какие-либо настройки Eclipse ... цель Maven - установить исходники локального репозитория кода в репозиторий .m2. (Например, если вы git клонировали некоторую версию моментального снимка, на которую хотите сослаться из другого проекта.) Разрешение зависимостей предназначено для загрузки внешнего источника или javadoc-файлов.
cslotty

4

Пожалуйста, используйте mvn source:jarустановку для установки артефактов Maven.


1
Похоже, это не работает. Он только генерирует jar источников. Я хочу объединить mvn clean installтаким образом как объектные, так и исходные jar-файлы в моем m2. Я получаю к ним доступ из Android Studio с помощью gradle.
TheRealChx101

-1

С eclipse это довольно просто, щелкните правой кнопкой мыши проект в представлении проводника проекта, выберите пункт меню maven, затем щелкните источники загрузки ..


но источники установленного снимка не существуют :( Я получаю сообщение об ошибке 24.02.11 10:23:23 CET: Не могу загрузить java-источник для артефакта my: project: 1.2.18-SNAPSHOT
IAdapter

Что ж, вы уточнили свой вопрос .. Мой ответ больше недействителен.
Gursel Koca

Зачем? maven - это автоматическое выполнение действий. Я не могу получить к нему доступ, потому что банка с ним не была создана.
IAdapter
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.