J'utilise Maven (et l'intégration Maven Eclipse) pour gérer les dépendances de mes Java dans Eclipse. La fonctionnalité de téléchargement automatique des fichiers JAR des référentiels Maven permet de gagner du temps. Malheureusement, il n'inclut pas la documentation de l'API et le code source.
Comment puis-je configurer Maven pour qu'il obtienne automatiquement les pièces jointes source et javadoc et les enregistre correctement avec Eclipse?
Je suis sûr que m2Eclipse Maven plug-in pour Eclipse - l'inverse - peut le faire. Vous pouvez le configurer pour télécharger les fichiers source et javadoc automatiquement pour vous.
Ceci est réalisé en allant dans Fenêtre> Préférences> Maven et en cochant les options "Télécharger les sources d'artefacts" et "Télécharger l'artefact JavaDoc".
mvn Eclipse:eclipse -DdownloadSources=true
ou
mvn Eclipse:eclipse -DdownloadJavadocs=true
ou vous pouvez ajouter les deux drapeaux, comme le souligne Spencer K.
De plus, le =true
portion n'est pas requise, vous pouvez donc utiliser
mvn Eclipse:eclipse -DdownloadSources -DdownloadJavadocs
Les autres réponses à ce travail, mais si vous voulez éviter de vous souvenir des arguments de ligne de commande, vous pouvez simplement ajouter à la configuration 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>
Je préfère ne pas mettre les paramètres de téléchargement source/Javadoc dans le projet pom.xml
fichier, car j'estime qu'il s'agit des préférences de l'utilisateur et non des propriétés du projet. Au lieu de cela, je les place dans un profil dans mon settings.xml
fichier:
<?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>
Faites un clic droit sur le projet -> maven -> sources de téléchargement
Si les fichiers jar source se trouvent dans le référentiel local et que vous utilisez Eclipses maven, les sources sont automatiquement attachées. Tu peux courir mvn dependency:sources
pour télécharger tous les fichiers source pour un projet donné. Vous ne savez pas comment faire la même chose avec la documentation.
Si vous utilisez meclipse do
fenêtre -> maven -> Télécharger les sources d'artefacts (cochez la case correspondante)
(Si vous continuez d’obtenir une fenêtre d’attachement à la source, cliquez sur le bouton Joindre un fichier et fermez la fenêtre d’attachement à la source. La prochaine fois que vous essaierez de voir la source, elle ouvrira la bonne source)
Surajz
J'ai essayé windows-> pref ..-> Maven Mais ça ne marchait pas. J'ai donc créé un nouveau chemin de classe avec la commande mvn Eclipse: eclipse -DdownloadSources = true et actualisé une fois l'espace de travail. voila .. Les sources étaient attachées.
L'entrée du fichier source est disponible dans le chemin de la classe. Par conséquent, la nouvelle construction a résolu le problème ...
Il existe également un question similaire qui répond à cette question et inclut des exemples de paramètres pom.
Vérifier la source de téléchargement/javadoc dans les préférences Eclipse-Maven ne suffit parfois pas. Si maven ne parvient pas à les télécharger pour une raison quelconque (une panne de réseau?), Il crée des fichiers * .lastUpdated, puis ne le télécharge plus jamais. Ma solution empirique consistait à supprimer le répertoire des artefacts de .m2/repository, à redémarrer l'espace de travail Eclipse en vérifiant la source de téléchargement/javadoc et à mettre également à jour les projets au démarrage. Après le redémarrage de l’espace de travail, il est possible que certains projets soient marqués comme étant en erreur pendant le téléchargement d’Eclipse. Toute erreur sera alors supprimée. Peut-être que cette procédure n’est pas aussi "scientifique", mais pour moi, j’ai réussi.
Changer pom pour maven-Eclipse-plugin afin d’inclure source/javadoc s’applique uniquement aux nouvelles dépendances ajoutées à pom. Si nous devons appliquer des dépendances existantes, nous devons exécuter mvn dependency: sources. J'ai vérifié ça.
dans ma version d’Eclipse helios avec m2Eclipse, il n’existe pas
window --> maven --> Download Artifact Sources (select check)
Sous la fenêtre est seulement "nouvelle fenêtre", "nouvel éditeur" "perspective ouverte" etc.
Si vous faites un clic droit sur votre projet, alors choisissez maven -> sources de téléchargement
Rien ne se passe. aucune source n'est téléchargée, aucun fichier pom n'est mis à jour, aucune fenêtre ne s'ouvre vous demandant quelles sources.
Faire mvn xxx en dehors d'Eclipse est dangereux - certaines commandes ne fonctionnent pas avec m2ecilpse - je l'ai fait une fois et j'ai perdu tout le projet, j'ai dû réinstaller Eclipse et recommencer à zéro.
Je cherche toujours un moyen d'obtenir ecilpse et maven pour trouver et utiliser la source de pots externes comme servlet-api.
Pour Indigo (et probablement Helios), les cases à cocher mentionnées ci-dessus se trouvent ici:
Fenêtre -> Préférences -> Maven
overthink suggéré d'utiliser la configuration dans le pom:
<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>
</plgins>
</build>
...
Tout d’abord, j’ai pensé que cela ne permettrait toujours pas d’attacher le javadoc et les sources (comme j’avais essayé sans succès avec cette option -DdownloadSources auparavant).
Mais surprise - le fichier .classpath IS) obtenant ses sources et son javadoc attachés lors de l’utilisation de la variante POM!
J'ai ajouté la configuration de pom au plugin maven-Eclipse pour télécharger le code source et les javadocs, mais je pense/espère que cela se produira pour les nouvelles dépendances, et non pour celles existantes.
Pour les dépendances existantes, j'ai parcouru l'explorateur de paquet jusqu'aux "Dépendances Maven" et cliqué avec le bouton droit de la souris sur commons-lang-2.5.jar, sélectionné Maven | Download Sources and ... rien ne semblait se passer (aucune barre de progression ni indication indiquant qu'il faisait quoi que ce soit). Il a toutefois été téléchargé car je suis maintenant en mesure de passer à la source dans commons-lang.
J'ai eu un problème similaire, et la solution qui a fonctionné le mieux pour moi a été d'inclure le code source dans le même fichier jar que le code compilé (un répertoire donné dans le fichier jar inclurait donc Foo.Java
et Foo.class
). Eclipse associe automatiquement la source au code compilé et fournit automatiquement le JavaDoc à partir de la source. De toute évidence, ce n'est utile que si vous contrôlez l'artefact.
Après avoir défini les propriétés au niveau du projet ou des propriétés de l'utilisateur, effectuez un Maven -> Mettre à jour le projet (Forcer la mise à jour). Il télécharge les sources