Як встановити артефакт Maven із джерелами з командного рядка?


92

Як встановити артефакт Maven з джерелами?

тому пізніше мені не потрібно відкривати проект в eclipse, щоб побачити якийсь код.

EDIT: Я знаю, що можу додати до 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>

але я хотів би зробити це з командного рядка (щоб зробити його більш універсальним).


І де ви хочете ці джерела?
Шон Патрік Флойд

Відповіді:


156

Щоб завантажити джерела для своїх залежностей:

mvn eclipse:eclipse -DdownloadSources=true

Щоб підключити джерела до інсталяції:

mvn source:jar install

Також бажано використовувати ціль source:jar-no-forkу вашому пом, як описано на сторінці maven-source-plugin .


але джерел встановленого знімка не існує :(
IAdapter

59

Отримайте свої джерела та JavaDocs просто:

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

2
@csgeek Питання сформульовано неоднозначно, може інтерпретувати різні способи. Cmd завантажує mvn src та doc та встановлює локально, тому Eclipse не потребує ручного відображення. Див. Відповідь dogbane щодо встановлення src для локально побудованої банки.
Джозеф Луст

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

"mvn source: jar install" не змінить pom або будь-які налаштування Eclipse .... це мета Maven - встановити джерела локального репо-коду у сховищі .m2. (F.ex. якщо ви клонували якусь версію знімка, на яку ви хочете посилатися з іншого проекту.) Дозвіл залежності призначений для завантаження зовнішніх джерел або банок Java.
cslotty

4

Будь ласка, використовуйте mvn source:jarinstall, щоб встановити артефакти Maven.


1
Здається, це не працює. Він генерує лише банку джерел. Я хочу поєднати з mvn clean installцим способом як об'єктні, так і вихідні банки в моєму m2. Я отримую доступ до них із Android Studio за допомогою gradle.
TheRealChx101

-1

З eclipse це досить просто, клацніть правою кнопкою миші проект у поданні провідника проекту, клацніть пункт меню maven, а потім натисніть кнопку завантажити джерела ..


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

Ну, ви роз'яснили своє питання .. Моя відповідь вже не діє.
Gursel Koca

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