Comment mettre à jour le référentiel maven dans Eclipse?


87

En supposant que vous utilisez déjà le plugin m2eclipse , que pouvez-vous faire s'il ne met pas à jour les dépendances vers les dernières de votre dépôt?

Par exemple, sur la ligne de commande, vous pouvez simplement ajouter l' -Uindicateur comme dans

mvn clean install -U 

… Pour forcer la mise à jour des dépendances. Y a-t-il quelque chose comme ça dans Eclipse? (Il ne semble pas toujours récupérer les dernières mises à jour.)

Réponses:


108

Vous pouvez faire un clic droit sur votre projet puis Maven> Mettre à jour le projet ... , puis cocher la case Forcer la mise à jour des instantanés / versions puis cliquer sur OK.


3
Ce n'est pas tout à fait la même chose que -U: lorsque vous avez un ancien fichier de métadonnées qui fait référence à une version qui n'existe pas dans les référentiels, la mise à jour des instantanés ne fonctionne pas. Dans cette situation, vous devez vérifier ce que maven binary eclipse utilise et l'exécuter dans la console /path/to/bin/mvn clean install -Upour obtenir le fichier de métadonnées mis à jour.
Joni

8
il n'y a pas d'option Update Snapshotsdans mon eclipse indigo, avez-vous une idée de comment y faire
Chasse

2
@Hunt Vous pouvez cocher la case "Update Snapshots" dans la configuration de maven build dans eclipse pour mettre à jour les dépendances.
Gaʀʀʏ

En fait, ne fonctionne pas toujours. Je dois changer le numéro de version en un numéro erroné, puis le changer à nouveau avec la bonne version pour que cela fonctionne.
Gonzalo Aguilar Delgado

1
@Hunt dans une éclipse plus récente, il y a l'option "Mettre à jour le projet".
TechnoCrat

46

Dans les versions plus récentes d'Eclipse qui utilisent le plugin M2E, c'est:

Faites un clic droit sur votre (vos) projet (s) -> Maven -> Mettre à jour le projet ...

Dans la boîte de dialogue suivante se trouve une case à cocher pour forcer la mise à jour ("Forcer la mise à jour des snapshots / versions")


3
J'utilise Eclipse Kepler. J'ai dû cocher «Forcer la mise à jour des instantanés / versions» pour résoudre le problème. Merci!
arun

24

Faites un clic droit sur votre projet et choisissez Maven > Update Snapshots. En plus de cela, vous pouvez définir "Mettre à jour les projets Maven au démarrage" dansWindow > Preferences > Maven

Mise à jour : Dans les dernières versions d'Eclipse: Maven > Update Project. Assurez-vous que «Forcer la mise à jour des instantanés / versions» est coché.


22

Parfois, les dépendances ne se mettent pas à jour même avec l'option Maven-> Mettre à jour le projet-> Forcer la mise à jour cochée à l'aide du plugin m2eclipse.

Au cas où cela ne fonctionnerait pas pour quelqu'un d'autre, cette méthode a fonctionné pour moi:

  • mvn eclipse:eclipse

    Cela mettra à jour votre fichier .classpath avec les nouvelles dépendances tout en préservant vos paramètres .project et autres fichiers de configuration eclipse.

Si vous souhaitez effacer vos anciens paramètres pour une raison quelconque, vous pouvez exécuter:

  • mvn eclipse:clean
  • mvn eclipse:eclipse

    mvn eclipse: propre effacera vos anciens paramètres, puis mvn eclipse: eclipse va créer de nouvelles .project , .classpath et d' autres fichiers de configuration Eclipse.


3
Cela a fonctionné quand j'ai trouvé que "Force Update" ne fonctionnait pas, merci!
Leon Chen

Merci, je voulais un moyen sans utiliser m2e et c'est tout
sam

Impressionnant! le: propre l'a corrigé pour moi.
Erwin Lengkeek

2

Si l'instantané de mise à jour Maven ne fonctionne pas et si vous avez Spring Tooling, un moyen intéressant est de supprimer

  • Faites un clic droit sur votre projet puis Maven> Désactiver Maven Nature
  • Faites un clic droit sur votre projet puis Spring Tools> Update Maven Dependencies
  • Après "BUILD SUCCESS", faites un clic droit sur votre projet puis Configurer> Convertir le projet Maven

Remarque: l'instantané de mise à jour Maven cesse parfois de fonctionner si vous utilisez autre chose, par exemple eclipse: eclipse ou Spring Tooling


J'ai essayé les solutions les mieux notées et aucune d'elles n'a fonctionné. C'est ce qui a fonctionné pour moi, merci.
DS.

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.