127 votes

Comment configurer le chemin de construction d'Eclipse pour utiliser les dépendances Maven ?

J'aimerais tirer parti des fonctionnalités que Maven offre pour gérer les dépendances dans un projet. Si je comprends bien le fonctionnement de Maven, il acquiert les JAR nécessaires et construit ensuite le projet avec ces bibliothèques.

Actuellement, j'ai un simple fichier POM configuré comme un test :

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

Pour gérer les dépendances, j'ajoute généralement le projet ou le JAR au chemin de construction et je pourrai alors construire mon projet

Mais en utilisant M2Eclipse les dépendances ne sont pas ajoutées automatiquement au chemin de construction. Existe-t-il une configuration permettant à Eclipse de savoir que Maven gère les dépendances ?

118voto

Buhb Points 3110

Si vous faites un clic droit sur votre projet, il devrait y avoir une option sous "maven" pour "activer la gestion des dépendances". C'est tout.

2 votes

M2eclipse ne le fait pas par défaut si vous importez un projet créé avec mvn eclipse:eclipse, ce qui semble toujours perturber les gens.

28 votes

En fait, elle était déjà activée pour mon projet. Peut-être parce que j'ai choisi d'ajouter un fichier POM à un projet existant ? Cependant, Maven > Update project configuration semble avoir réglé le problème pour moi. C'est également votre réponse qui m'a permis de découvrir cette barre d'outils où je pouvais corriger le projet. Merci beaucoup.

12 votes

Que faire s'il n'y a pas d'option "Maven" dans le menu du clic droit, alors que je semble avoir installé m2eclipse ?

69voto

davek Points 12514

Si vous exécutez

mvn eclipse:clean

suivi par

mvn eclipse:eclipse

si on prépare l'éclipse .classpath pour vous. C'est-à-dire que ces commandes sont exécutées contre maven à partir de la ligne de commande, c'est-à-dire en dehors d'eclipse.

0 votes

Notez que cela fonctionne en utilisant une variable classpath (M2_REPO) pour faire référence à vos dépendances, cela n'utilise pas m2eclipse et je ne pense pas que cela prenne en compte les dépendances que vous ajoutez au fur et à mesure que vous travaillez sur le projet - mais c'est très bien pour commencer la configuration initiale.

0 votes

@matt b : Vous devez refaire mvn eclipse:eclipse à chaque fois que vos dépendances changent.

0 votes

Pour ajouter à ce que Buhb a dit, faites mnv eclipse:eclipse sur la ligne de commande et rafraîchissez le projet Eclipse chaque fois que vous ajoutez de nouveaux deps à pom.xml.

29voto

Pascal Thivent Points 295221

Je suppose que vous utilisez m2eclipse puisque vous l'avez mentionné. Cependant il n'est pas clair si vous avez créé votre projet sous Eclipse ou non donc je vais essayer de couvrir tous les cas.

  1. Si vous avez créé un projet "Java" sous Eclipse (Ctrl+N > Projet Java), alors Cliquez à droite sur le projet dans le Explorateur de paquets et aller à Maven > Activer la gestion des dépendances (selon la structure initiale du projet, vous devrez peut-être la modifier pour qu'elle corresponde à celle de maven, en ajoutant par exemple src/java aux dossiers sources sur le chemin de construction).

  2. Si vous avez créé un "Projet Maven" sous Eclipse (Ctrl+N > Projet Maven), alors il devrait déjà être "Maven ready".

  3. Si vous avez créé un projet Maven en dehors d'Eclipse (manuellement ou avec un archétype), il suffit de import dans Eclipse ( Cliquez à droite sur le site Explorateur de paquets et sélectionnez Importer... > Projets Maven ) et il sera "prêt pour Maven".

Maintenant, pour ajouter une dépendance, soit Cliquez à droite sur le projet et sélectionnez Maven > Ajouter une dépendance ) ou éditez le pom manuellement.

PS : évitez d'utiliser le maven-eclipse-plugin si vous utilisez m2eclipse. Il n'en a absolument pas besoin, il sera source de confusion, il générera du désordre. Non, vraiment, ne l'utilisez pas à moins que vous ne sachiez vraiment ce que vous faites.

2 votes

Je viens de découvrir que le maven-eclipse-plugin était la cause de mes étranges erreurs de dépendance non résolues. Merci !

1 votes

J'utilise simplement EclipseNeon, téléchargé depuis le site officiel Il n'y a pas d'option Maven dans le menu après avoir créé un projet java standard. devons-nous installer quelque chose séparément ou tout est déjà téléchargé avec Neon ?

0 votes

@Pascal Thivent, j'ai importé le projet Maven. Je n'arrive pas à trouver la solution pour celui-ci

14voto

DevJav Points 49

Clic droit sur le projet Configure > convertir en projet Maven

Vous pouvez alors voir tous les menus liés à Maven pour votre projet.

0 votes

De la bonne manière si vous n'avez pas créé un projet mvn en premier lieu.

11voto

madhureddy480 Points 39

J'ai aimé ça

Clic droit sur le projet--> configurer-->convertir en projet maven. Cliquez à droite sur le projet-->maven-->additionner les dépendances.

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