84 votes

Comment télécharger les sources d'un jar avec Maven ?

Dans mon projet, j'utilise un fichier JAR fourni par Maven. Mais Maven ne me donne que ce fichier JAR - pas de javadocs ni de sources. Appuyer sur "Download Sources" n'a aucun effet : Eclipse ne trouve toujours pas les sources du jar.

De quoi cela dépend-il ? Le référentiel doit-il fournir les sources automatiquement ?

Peut-être dois-je écrire quelque chose dans POM pour demander à Maven de télécharger les sources ?

Mon pom actuel est le suivant :

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

Pourquoi Maven n'indique-t-il aucun commentaire sur l'échec du téléchargement de ses sources ?

146voto

hovanessyan Points 8800

Mise à jour 2020 :

En plugin de dépendance maven doit être utilisé lorsque le dependency:sources objectif :

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
      <execution>
        <id>download-sources</id>
        <goals>
          <goal>sources</goal>
        </goals>
        <configuration>
        </configuration>
      </execution>
    </executions>
  </plugin>

Cette opération peut également être exécutée à partir de la ligne de commande sous la forme suivante :

mvn dependency:sources -Dsilent=true

Exécution mvn dependency:sources forcera maven à télécharger toutes les sources de tous les bocaux du projet, si les sources sont disponibles (sont téléchargées dans le dépôt où l'artefact est hébergé). Si vous souhaitez télécharger la javadoc, la commande est la suivante mvn dependency:resolve -Dclassifier=javadoc

Déclassé :

~~Il est également possible de créer un profil dans votre fichier settings.xml et d'y inclure les propriétés suivantes :

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

60voto

Kalpesh Soni Points 587
mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

s'il n'y a pas de sources, il doit être indiqué quelque chose comme

[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

14voto

Douglass Parker Points 171

Il est préférable de ne pas utiliser le plugin Eclipse car il est obsolète. L'utilisation du plugin downloadSources y downloadJavadocs n'a pas fonctionné pour moi. La réponse postée ci-dessus concernant l'utilisation du plugin dependencies word. Cependant, vous pouvez souhaiter télécharger automatiquement les sources et les javadocs. En outre, vous pouvez souhaiter créer systématiquement un jar source et un jar javadoc. Mettez cela dans le pom de votre projet. Si vous utilisez des modules, mettez-les dans votre pom parent.

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

7voto

Alireza Fattahi Points 1318

Dans eclipse, cliquez à droite sur votre projet puis sur Maven>Download Sources à nouveau Maven>Download Javadoc

5voto

Marinos An Points 98

Vous pouvez également télécharger les sources sous target/dependencies en utilisant :

mvn -Dclassifier=sources dependency:copy-dependencies

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X