Подтвердить что ты не робот

Как загрузить источники для банки с Maven?

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

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

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

Мой текущий pom следует:

<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 не говорит о каких-либо комментариях об ошибке загрузки файлов?

4b9b3361

Ответ 1

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

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

<properties>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>true</downloadJavadocs>
</properties>

Ответ 2

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

Ответ 3

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

<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>

Ответ 4

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

Ответ 5

распространяющийся на ответ @hovanessyan.

Основной профиль для включения downloadSources и downloadJavadocs в Maven settings.xml будет выглядеть следующим образом. например profile id is 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>

Ответ 6

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

mvn -Dclassifier=sources dependency:copy-dependencies

Ответ 7

В eclipse, нажмите на свой проект, затем Maven>Download Sources снова Maven>Download Javadoc