182 votes

Obtenir les fichiers jar source attachés à Eclipse pour les dépendances gérées par Maven

J'utilise Maven (et l'intégration Maven Eclipse) pour gérer les dépendances de mes projets Java dans Eclipse. La fonction de téléchargement automatique des fichiers JAR à partir des référentiels Maven est un véritable gain de temps. Malheureusement, elle n'inclut pas la documentation API et le code source.

Comment puis-je configurer Maven pour qu'il récupère automatiquement les pièces jointes des sources et des javadocs et les enregistre correctement dans Eclipse ?

0 votes

Question connexe demandant comment faire toujours télécharger les sources et la javadoc lorsque vous utilisez maven : stackoverflow.com/questions/5780758/

228voto

mrembisz Points 6391

Je suis sûr que m2eclipse Maven plugin for Eclipse - l'autre sens - peut le faire. Vous pouvez le configurer pour qu'il télécharge automatiquement les fichiers sources et la javadoc pour vous.

Pour ce faire, il faut aller dans Window > Preferences > Maven and checking the "Download Artifact Sources" and "Download Artifact JavaDoc" options.

Screenshot of Maven Preferences

0 votes

Oui, je viens de commencer à utiliser m2eclipse, et il prend soin de cela (et beaucoup d'autres choses maven).

45 votes

Aucune de ces réponses n'est une réponse. Pourquoi sont-elles votées ? J'ai pu télécharger les sources en faisant un contrôle-clic sur le projet dans la vue Navigateur et en choisissant "m2 Maven"-->"Download Sources". J'ai ensuite pu faire un command-clic (mac) sur la classe pour naviguer vers la source liée.

8 votes

Il semble que si le JAR compilé a déjà été téléchargé, Eclipse n'essaie pas de récupérer les JARs source/Javadoc immédiatement. Il semble que la modification d'un POM contenant une dépendance sur les POMs pour lesquels je veux la source/Javadoc dans Eclipse et la sauvegarde du POM télécharge la source/Javadoc pour les dépendances, même si le JAR compilé est déjà dans le cache du dépôt Maven.

130voto

Stephen Denne Points 17031
mvn eclipse:eclipse -DdownloadSources=true

o

mvn eclipse:eclipse -DdownloadJavadocs=true

ou vous pouvez ajouter les deux drapeaux, comme le souligne Spencer K.

En outre, le =true n'est pas nécessaire, vous pouvez donc utiliser

mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs

8 votes

Ou les deux ! mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true Cela ne fonctionne que si les sources et les javadocs ont été fournis au dépôt d'où vous téléchargez. Parfois, ils ne sont pas fournis, comme dans le cas de Spring.

2 votes

Le printemps les fournit maintenant.

0 votes

Notez que cette réponse date de plus de 10 ans. Utilisez le plugin m2e dans eclipse au lieu de demander à maven de créer les fichiers de configuration d'eclipse.

72voto

overthink Points 9471

Les autres réponses à ce sujet fonctionnent, mais si vous voulez éviter d'avoir à vous souvenir des arguments de ligne de commande, vous pouvez aussi simplement ajouter les configurations downloadSources et downloadJavadocs à la section maven-eclipse-plugin de votre pom.xml :

<project>
    ...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                    ... other stuff ...
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>

0 votes

Serait-il possible de définir ce paramètre au niveau de chaque dépendance ?

0 votes

@marcorossi Désolé, je ne suis pas sûr que cela soit possible.

0 votes

Je ne suis pas convaincu que ce soit approprié. Les paramètres de téléchargement des sources et de Javadoc sont certainement une préférence de l'utilisateur, et non une préoccupation au niveau du projet ? Voir ma réponse ci-dessous pour savoir comment le placer dans le settings.xml fichier.

16voto

Duncan Points 22780

Je préfère ne pas intégrer les paramètres de téléchargement des sources/Javadoc dans le projet. pom.xml car je pense qu'il s'agit de préférences de l'utilisateur et non de propriétés du projet. Au lieu de cela, je les place dans un profil dans mon fichier settings.xml archivo:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>
    <profile>
      <id>sources-and-javadocs</id>
      <properties>
        <downloadSources>true</downloadSources>
        <downloadJavadocs>true</downloadJavadocs>
      </properties>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>sources-and-javadocs</activeProfile>
  </activeProfiles>
</settings>

1 votes

J'ai copié ce settings.xml dans .m2 mais les sources et javadocs ne sont pas copiés. La commande suivante, utilisée explicitement sur l'interface CLI, permet de récupérer les sources et les javadocs : mvn dependency:sources dependency:resolve -Dclassifier=javadoc Une idée ?

0 votes

Peut-être que cela fonctionne, mais expliquez-moi comment le plugin maven eclipse est censé trouver ces paramètres de configuration ? Vous pensez qu'il recherche les propriétés globales ?

9voto

Sumeet Points 22

Cliquez à droite sur project -> maven -> download sources

3 votes

Tout le monde a dit comment l'activer mais pas comment faire en sorte que maven télécharge les sources ! après avoir activé l'option

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