Comment référencer des javadocs à des dépendances dans le plugin eclipse de Maven lorsque javadoc n’est pas attaché à une dépendance

J’utilise Eclipse, Maven et Java dans mon développement. J’utilise Maven pour télécharger les dépendances (fichiers jar et javadoc si disponibles) et le plug-in eclipse de Maven pour générer les fichiers .project et .classpath pour Eclipse. Lorsque la dépendance téléchargée n’a pas de javadoc attaché, j’ajoute manuellement un lien pour le javadoc dans le fichier .classpath afin que je puisse voir le javadoc de la dépendance dans Eclipse. Ensuite, lorsque je lance le plugin eclipse de Maven pour régénérer le fichier .classpath, il efface bien sûr ce changement.

Existe-t-il un moyen de configurer le plug-in eclipse de Maven pour qu’il ajoute automatiquement les atsortingbuts de chemin de classe pour javadoc lors de l’exécution du plug-in eclipse de Maven?

Je ne m’intéresse qu’aux réponses où le javadoc et / ou les sources ne sont pas fournis pour la dépendance dans le repository maven, ce qui est le cas le plus souvent pour moi. Utiliser les propriétés downloadSources et / ou downloadJavadocs n’aidera pas ce problème.

Vous pouvez envisager d’éviter complètement ce problème en installant manuellement le javadoc jar dans votre référentiel local en utilisant l’ objective d’installation du fichier et en transmettant l’option -Dclassifier = javadoc. Une fois que vous faites cela, le fichier .classpath généré par mvn doit être correct.

Si vous utilisez un repository à distance comme proxy pour centraliser, vous pouvez également déployer les javadocs sur ce repository, puis tous les utilisateurs de ce proxy obtiendront automatiquement les javadocs.

Dans la FAQ du plugin Maven Eclipse

L’exemple suivant montre comment faire cela dans la ligne de commande:

mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true 

ou dans votre pom.xml:

  [...]  [...]  [...]  org.apache.maven.plugins maven-eclipse-plugin  true true   [...]  [...]  [...]  

J’utilise STS 2.8.1 qui est essentiellement des outils éclipse + spring; Dans un projet maven existant, j’ai cliqué avec le bouton droit sur le projet -> maven -> Télécharger les sources et télécharger JavaDocs

Comme mentionné dans Comment télécharger des sources et des artefacts javadoc avec le plug-in Maven Eclipse depuis un autre référentiel? , tu peux le faire:

Dans Eclipse, allez dans Windows-> Préférences-> Maven. Cochez la case indiquant “Télécharger l’artefact Javadoc”. Cela a bien fonctionné pour moi.

Préférences Maven

En général, les Javadocs ne sont pas principalement utilisés comme dépendance. Parce qu’ils ne sont ni nécessaires à la compilation ni à l’exécution. C’est juste pour aider le développeur lors du développement ou du débogage.

En supposant l’utilisation de l’IDE Eclipse de Java, nous pouvons utiliser les documents Java comme référencés. Voici les approches que nous pouvons associer aux sources / javadocs avec les jars respectifs.

1. Si c’est un projet non-maven:

Téléchargez le fichier javadocs ou le fichier zippé, tout ce qui est disponible et placez-le dans un répertoire. Cliquez avec le bouton droit sur le projet d’application dans l’IDE Eclipse, cliquez sur Propriétés et choisissez Java Build Path, puis sélectionnez l’onglet Bibliothèques sous le chemin de génération Java. Maintenant, développez le fichier que vous souhaitez lier avec les documents / sources java. Sélectionnez le lien d’emplacement Javadoc et cliquez sur le bouton Modifier, une nouvelle fenêtre apparaît où nous devons choisir le chemin d’access javadocs. Cliquez sur OK et nous avons lié le javadoc / source avec les jars respectifs.

entrer la description de l'image ici

2. Si c’est un projet Maven

Si nous utilisons le projet Maven, accédez aux fichiers jar sous la dépendance Maven dans le cadre du projet dans la vue Explorateur de projets, comme indiqué ci-dessous. Maintenant, faites un clic droit sur le fichier JAR que vous voulez append à la source / Javadoc, choisissez Maven puis cliquez sur Javadoc ou sur Source que vous souhaitez associer au projet. Désormais, IDE téléchargera automatiquement le javadoc / source requirejs et le reliera au fichier jar correspondant dans le projet.

entrer la description de l'image ici

Vous pouvez le vérifier en cliquant avec le bouton droit sur le projet dans l’EDI et cliquez sur Java Build Path et sélectionnez l’onglet Bibliothèques sous Java Build Path, puis développez le fichier souhaité. Cliquez sur le bouton Modifier pour afficher le chemin d’access lié. le Javadoc / Source avec le pot respectif comme indiqué ci-dessous dans l’image.

entrer la description de l'image ici

3. Si c’est un projet Maven et que nous définissons le comportement par défaut:

Eclipse téléchargera le javadoc / source en même temps que le fichier jar requirejs au démarrage. Par défaut, instruction à Maven de télécharger les sources / Javadoc pour tous les jars liés au projet.

Cliquez sur Windows – préférences – sélectionnez Maven et cochez la case Download Artifact Javadoc comme indiqué ci-dessous

entrer la description de l'image ici

Maintenant, cliquez sur Appliquer et enregistrez-le. Désormais, lorsque vous créez un nouveau projet Maven, les Javadocs seront téléchargés par défaut et liés à tous les fichiers JAR dépendants du projet.
Vous pouvez vérifier par un clic droit sur le projet et les propriétés et sous Java Build chemin peuvent voir les javadocs sont liés à tous les jars comme indiqué ci-dessous.

entrer la description de l'image ici

Si votre projet est un projet Maven, il est toujours préférable d’utiliser la 2ème approche car, en utilisant cette approche, l’EDI et Maven se chargent de télécharger la version correcte du source / Javadoc et de la lier également au fichier JAR.

L’approche 3 est peu coûteuse car les sources / javadoc seront téléchargées pour tous les fichiers dépendants, il se peut que vous ne soyez pas intéressé par les sources / javadocs pour tous les fichiers JAR dépendants.

Avoir les sources de la dépendance aiderait-il? Vous pouvez demander au plug-in eclipse de les télécharger (et de s’y référer dans le fichier .classpath) avec -DdownloadSources=true