it-swarm.com.ru

Как скачать исходники для баночки с Maven?

В своем проекте я использую файл JAR, предоставленный через Maven. Но то, что дает мне Мейвен, это только эта баночка - без ядовитости и источников. Нажатие «Download Sources» не дает никакого эффекта: Eclipse по-прежнему не находит источники кувшина.

От чего это зависит? Должен ли репозиторий предоставлять источники автоматически?

Может быть, мне нужно написать что-нибудь в POM, чтобы проинструктировать Maven для загрузки исходников?

Мой текущий пом следующим:

<repositories>
    <repository>
        <id>xuggle repo</id>
        <url>http://xuggle.googlecode.com/svn/trunk/repo/share/Java/</url>
    </repository>
</repositories>

<dependencies>

    <dependency>
        <groupId>xuggle</groupId>
        <artifactId>xuggle-xuggler</artifactId>
        <version>5.3</version>
        <type>rar</type>
    </dependency>

</dependencies>

Почему Maven не говорит ни одного комментария о том, что его источники не удаются?

46
Suzan Cioc

Выполнение mvn dependency:sources заставит maven загрузить все источники всех jar-файлов в проекте, если они доступны (загружены в хранилище, где размещен артефакт). Если вы хотите скачать javadoc, введите команду mvn dependency:resolve -Dclassifier=javadoc

Также возможно создать профиль в вашем файле settings.xml и включить следующие свойства:

<properties>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>true</downloadJavadocs>
</properties>
74
hovanessyan
mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

если у него нет источников, он должен сказать что-то вроде

[INFO] The following files have NOT been resolved:
[INFO]    com.Oracle:ojdbc6:Java-source:sources:12.1.0.1
[INFO]    javax:javaee-api:Java-source:sources:6.0
35
Kalpesh Soni

Лучше не полагаться на плагин Eclipse, поскольку он устарел. Использование свойств downloadSources и downloadJavadocs у меня не сработало. Ответ опубликован выше относительно использования плагина зависимостей Word. Тем не менее, вы можете автоматически загружать исходные коды и javadocs. Кроме того, вы можете всегда создавать исходную флягу и флягу javadoc. Поместите это в помпу вашего проекта. Если вы используете модули, поместите в родительский пом.

<build>
    <plugins>
        <!-- download sources and javadoc -->
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>download-sources</id>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
                <execution>
                    <id>download-javadoc</id>
                    <configuration>
                        <classifier>javadoc</classifier>
                    </configuration>
                    <goals>
                        <goal>resolve</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create javadoc jar. -->
        <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.4</version>
            <executions>
                <execution>
                    <id>attach-javadoc</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!-- Always create source jar. -->
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar</goal>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
7
Douglass Parker

Jar-файлы source/javadoc, возможно, не были предоставлены и отсутствуют в репозитории - нет ничего, что требовало бы наличия jar-кода source/javadoc.

4
kevinpeterson

продолжая @hovanessyan ответ.

Базовый профиль для включения downloadSources и downloadJavadocs в Maven settings.xml будет выглядеть следующим образом. например. идентификатор профиля - downloadSources

<!-- add the profile under profiles section -->

    <profile>
        <id>downloadSources</id>
        <properties>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>true</downloadJavadocs>           
        </properties>
    </profile>

<!-- activate the profile under activeProfiles section -->

  <activeProfiles>
    <activeProfile>downloadSources</activeProfile>
  </activeProfiles>
3
RaamEE

Вы также можете скачать исходники под target/dependencies, используя:

mvn -Dclassifier=sources dependency:copy-dependencies
2
Marinos An

В Eclipse щелкните правой кнопкой мыши свой проект, затем Maven>Download Sources снова Maven>Download Javadoc

0
Alireza Fattahi