Eclipse: les dépendances de recherche Maven ne fonctionnent pas


91

J'ai créé un nouveau projet Maven simple dans un nouvel espace de travail.

Lorsque j'ouvre la vue pom.xml's Dependenciesdans l'éditeur Eclipse et que je choisis la Add..dépendance, il n'y a pas de résultats de recherche quels que soient les critères de recherche que j'entre dans les champs de recherche:

Cela me donne instantanément, par exemple Results for 'spring' (0),.

Dans mon autre espace de travail, avec mes projets existants, je n'ai pas ce problème.

Y a-t-il moyen d'arranger ça ?


3
Je pense qu'il existe une solution dans le lien suivant: stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]: stackoverflow.com/questions/ 7065478 /…
Eric Wang

Réponses:


187

La recherche d'artefacts Eclipse dépend du fichier d'index du référentiel. Il semble que vous n'ayez pas téléchargé le fichier d'index.

Allez dans Fenêtre -> Préférences -> Maven et cochez "Télécharger les mises à jour de l'index du référentiel au démarrage" . Redémarrez Eclipse, puis regardez la vue de progression. Un fichier d'index devrait être en cours de téléchargement.

Une fois le téléchargement terminé, la recherche d'artefacts sera prête à être utilisée.

Paramètres Maven

MISE À JOUR Vous devez également reconstruire votre index de référentiel Maven dans 'maven repository view'.

Dans cette vue, ouvrez «Global Repositories», cliquez avec le bouton droit sur «central», cochez «Full Index Enable», puis cliquez sur «Rebuild Index» dans le même menu.

Un fichier d'index 66M sera téléchargé.

Référentiels Maven -> Reconstruire l'index


4
Fenêtre-> Préférences-> Maven
McLovin

5
la mise à jour du référentiel au redémarrage prend énormément de temps, je ne sais pas si elle se termine ou non également, une alternative?
Vasanth Nag KV

5

Dans votre éclipse, allez dans Windows -> Préférences -> Maven Préférences Maven Capture d'écran Cochez l'option "Télécharger les mises à jour de l'index du référentiel au démarrage". Vous voudrez peut-être redémarrer l'éclipse.

Allez également dans Windows -> Afficher la vue -> Autre -> Maven -> Dépôts Maven Capture d'écran du référentiel Maven

Sur le panneau des référentiels Maven, développez les référentiels globaux puis faites un clic droit sur les référentiels centraux et cochez l' option "Index complet activé" , puis cliquez sur "Reconstruire l'index" .

Capture d'écran de l'index complet


1
En quoi votre réponse ajoute-t-elle quelque chose à la réponse précédemment acceptée par Xiujun Ma? C'est comme si vous aviez copié cette réponse, mais que vous la reformuliez. Même les captures d'écran de votre réponse sont presque identiques à celles de la réponse acceptée!
skomisa

@skomisa Je n'ai pas du tout copié la réponse. J'ai répondu à cela lorsque j'ai fait face à ce problème. Les sérigraphies proviennent également de mon travail. Copier et coller des réponses n'a pas de sens sur stackoverflow. Et si je le copiais, j'aurais déjà répondu à des milliers de questions que je n'ai pas encore.
Hetal Rachh

1
OK, mais votre réponse ne fait que répéter les informations fournies dans la réponse acceptée.
skomisa

4

Vous pouvez obtenir ce résultat si vous êtes à l'intérieur d'un proxy d'entreprise et que le nouveau projet ne pointe pas vers le fichier settings.xml correct avec les informations d'identification du proxy.

Vous pouvez également l'obtenir si vous utilisez le proxy Maven (Nexus, par exemple) et que l'index dans le proxy est en quelque sorte déréglé. Je ne sais pas comment décrire comment résoudre ce problème. Amusez-vous ou appelez celui qui a configuré le proxy Maven.

Vous pouvez également l'obtenir si le nouvel espace de travail n'a pas encore téléchargé l'index depuis Maven central ou depuis le proxy. (C'est le meilleur car il vous suffit d'attendre un peu et cela fonctionnera tout seul.)


en fait, j'ai les deux espaces de travail ouverts (dans deux éclipses différentes), dans l'un d'eux cela fonctionne et pas dans l'autre, donc cela ne peut pas être un problème de proxy ou de connexion Internet. Et il n'y a pas de fichier setting.xml dans aucun des espaces de travail ... Je pense que vous avez peut-être raison à propos de l'index téléchargé, mais je ne sais pas comment le télécharger (j'ai ce problème depuis hier donc il est inutile d'attendre)
Majid Laissi

1
J'utilise MyEclipse et les préférences peuvent être différentes des vôtres. Mais j'ai un bouton auquel vous accédez avec window> preferences> MyEclipse> Maven4MyEclipse> User Settings. Le bouton est intitulé «Réindexer» et si vous cliquez dessus, cela peut aider. Il y a une photo et plus d'informations ici: (cliquez)
Lee Meador

BTW - settings.xml est un fichier situé dans le dossier .m2 de votre dossier utilisateur. (Windows 7 est c: \ Users \ YourName \ .m2, Linux est ~ / .m2) et il peut contenir des informations globales pour plusieurs espaces de travail. Cette même page de préférences vous permet de le sélectionner.
Lee Meador

Merci pour votre temps. J'ai essayé cela sans chance, mais Reindex ne réindexerait que mon référentiel maven local (libs que j'ai déjà)? Et pour le fichier settings.xml, il n'existe dans aucun des deux espaces de travail (préférences Eclipse / références de paramètres utilisateur C:\Users\XX\.m2\settings.xmlet dit User settings file doesn't exist) et c'est la même chose pour les deux espaces de travail, donc je suppose que ce n'est pas important.
Majid Laissi

info http://maven.apache.org/settings.html sur le contenu du fichier. Tant qu'aucun proxy, aucun mot de passe et tout ce dont vous avez besoin se trouvent dans Maven Central, vous pouvez vous en passer.
Lee Meador

4

Pour moi, ce problème a fonctionné pour:

  • supprimer ~ / .m2
  • activer «Index complet activé» dans la vue du référentiel maven sur le référentiel central
  • "Rebuild Index" sur le référentiel central de maven

Après le redémarrage de l'éclipse, tout a bien fonctionné.


3

La dépendance maven add provient en fait des index maven. Si les index sont à jour, le résultat devrait provenir de là.

Si vous allez dans le référentiel maven, puis sélectionnez le référentiel global, vous devriez voir un onglet central ... et sélectionnez cela, il devrait y avoir une liste de dossiers, et vous devriez pouvoir voir tous les index à partir de là. Sinon, cela signifie que vous n'avez pas obtenu l'index complet, vous pouvez alors cliquer dessus avec le bouton droit de la souris et activer l'index complet.

Une autre chose que je m'ennuyais le plus, c'est que même j'ai tout fait, ça ne montre toujours rien quand je tape "spring". C'est en fait là que j'ai mal fait. Si vous tapez simplement un texte supplémentaire "springframework", BOOM, le résultat est là.


1

J'ai le même problème. Aucune des options suggérées ci-dessus n'a fonctionné pour moi. Cependant, je trouve que si je laisse dire manuellement ajouter groupid / artifact / version pour org.springframework.spring-core version 4.3.4.RELEASE et enregistrez le pom.xml, les dépendances se téléchargent automatiquement et la recherche fonctionne pour les jars déjà présents dans le référentiel. Cependant, si je recherche maintenant org.springframework.spring-context, qui n'est pas dans les dépendances actuelles, cette recherche ne fonctionne toujours pas.


0

Utilisez https://search.maven.org/ manuellement avec le préfixe fc: pour rechercher des noms de classe. Netbeans et Eclipse semblent être trop stupides pour utiliser cette interface de recherche et les gigaoctets d'index de référentiel téléchargés semblent ne contenir aucune information de classe. Gaspillage total d'espace disque. Ces projets IDE sont si mal entretenus ces derniers temps, j'aimerais qu'ils déplacent le développement vers GitHub.


0

Il est nécessaire de fournir un identifiant de groupe et un identifiant d'artefact pour télécharger le fichier jar dont vous avez besoin. Si vous voulez le rechercher, utilisez simplement *, * pour ces champs.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.