web-dev-qa-db-fra.com

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

Je souhaite tirer parti des fonctionnalités fournies par Maven pour la gestion des dépendances dans un projet. Ma compréhension brève du fonctionnement de Maven est qu’elle acquiert les fichiers JAR nécessaires et construit ensuite le projet avec ces bibliothèques.

Actuellement, j'ai un simple fichier POM configuré comme 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>

Habituellement, lors de la gestion des dépendances d'un projet, j'ajoutais le projet ou le fichier JAR au chemin de génération du projet, puis je pouvais construire mon projet. 

Mais lors de l'utilisation de M2Eclipse, les dépendances ne sont pas automatiquement ajoutées au chemin de génération. Dois-je configurer quelque chose pour permettre à Eclipse de savoir que Maven gère les dépendances?

115
James Goodwin

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.

107
Buhb

si vous exécutez

mvn Eclipse:clean

suivi par 

mvn Eclipse:eclipse

if préparera le fichier Eclipse .classpath pour vous. Autrement dit, ces commandes sont exécutées sur maven à partir de la ligne de commande, c'est-à-dire en dehors d'Eclipse.

60
davek

Je suppose que vous utilisez m2Eclipse comme vous l'avez mentionné. Cependant, il est difficile de savoir si vous avez créé votre projet sous Eclipse ou non. Je vais donc essayer de couvrir tous les cas.

  1. Si vous avez créé un projet "Java" sous Eclipse (Ctrl + N> Java Projet), alors cliquez avec le bouton droit de la souris sur le projet . la vue Package Explorer et accédez à Maven> Activer la gestion des dépendances (en fonction sur la structure de projet initiale, vous pouvez le modifier pour qu'il corresponde à celui de maven, par exemple en ajoutant src/Java aux dossiers source sur le chemin de génération).

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

  3. Si vous avez créé un projet Maven en dehors d’Eclipse (manuellement ou avec un archétype), il vous suffit alors de l’importer dans Eclipse ( par un clic droit la vue de l'explorateur de packages et sélectionnez Importer ...> Projets Maven ) et ce sera "Maven ready".

Maintenant, pour ajouter une dépendance, soit cliquez avec le bouton droit de la souris 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. Cela n’est absolument pas nécessaire, ce sera déroutant, cela générera des dégâts. Non, vraiment, ne l'utilisez pas si vous ne savez pas vraiment ce que vous faites.

28
Pascal Thivent

Faites un clic droit sur le projet Configurer> convertir en projet Maven

Ensuite, vous pouvez voir tous les menus liés à Maven pour votre projet.

14
DevJav

Ajoutez ceci au fichier .classpath.

<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

THX

14
Apurva Singh

J'ai fait comme ça .. 

Faites un clic droit sur le projet -> configurer -> convertir en projet maven . Faites un clic droit sur le projet -> maven -> ajouter des dépendances.

9
madhu_karnati

Dans Eclipse (Mars), allez à:

Propriétés du projet -> Maven. Assurez-vous que "Résoudre les dépendances des projets d'espace de travail" est disabled .

5
Thomas Beer

Je n'ai pas trouvé le menu ni le menu de configuration, mais j'ai trouvé le bouton suivant qui a résolu mon problème:

enter image description here

4
borjab

Lorsque m2Eclipse est correctement installé, il doit ajouter des dépendances automatiquement . Cependant, vous devez générer les fichiers de projet Eclipse en entrant:

mvn Eclipse:m2Eclipse

ou bien si vous n'utilisez pas m2Eclipse:

mvn Eclipse:eclipse
2
EJB

Pour les versions plus récentes d’Eclipse (> = Mars), cliquez avec le bouton droit sur projet> Configurer> Convertir en projet Maven.

1
JBoy

J'ai eu une légère variation qui a causé certains problèmes - plusieurs sous-projets au sein d'un projet. Dans ce cas, je devais accéder à chaque dossier individuel contenant un POM, exécuter la commande mvn Eclipse: eclipse, puis copier/fusionner manuellement les entrées de chemin de classe dans le fichier chemin de classe de mon projet.

1
Mearde

Ajout de mes réponses pour deux raisons: 

  • En quelque sorte, aucune des réponses énumérées directement n'a résolu mon problème. 
  • Je n'ai pas trouvé "Activer la gestion des dépendances" sous Maven. J'utilise Eclipse 4.4.2 à partir du mercredi 4 février 2015.

Ce qui m'a aidé, c’est une autre option de Maven appelée «Mettre à jour le projet». Lorsque je clique dessus, cette fenêtre s’ouvre. Elle contient une case à cocher indiquant «Forcer la mise à jour des instantanés/versions». Le but réel de cette case à cocher est différent, je sais, mais cela a en quelque sorte résolu le problème des dépendances.  enter image description here

1
Saurabh Patil

Assurez-vous que votre POM respecte la convention de dénomination et qu'il est désigné en lettres minuscules par pom.xml et NOT POM.xml.

Dans mon cas, tout allait bien, mais Eclipse s'est toujours plaint en essayant de cliquer avec le bouton droit de la souris et Update project configuration - m'a dit que le POM ne pouvait pas être lu. Changé le nom en minuscule - pom.xml de POM.xml - et cela a fonctionné.

0
Karun

J'ai rencontré ce problème aussi. Lorsque j'ajoute des dépendances dans le pom.xml, j'ai archivé le dossier local /Users/xyz/.m2/ et les fichiers JAR y sont déjà téléchargés, mais je ne peux pas ajouter le chemin de construction de Eclipse.

Ma version Eclipse: Version Mars.2 (4.5.2)

clic droit sur le projet > Maven > Activer la résolution de l’espace de travail

Et cela a résolu mon problème.

0
Eddy

Rien de tout cela n'a résolu mon problème. mais ce que j’ai fait c’est que si vous cliquez sur le fichier pom.xml, il ya un onglet en bas nommé dépendances dans cet onglet, il est divisé en 2 sections, une appelée dépendances et une autre appelée gestion des dépendances. sélectionnez tout ce qui se trouve dans la section des dépendances et cliquez sur ajouter pour être sous le contrôle de gestion des dépendances. fermez et rouvrez votre projet.

0
amralieg

En règle générale, vous pouvez copier le fichier .classpath à partir d’un projet en cours, car il n’existe aucun projet spécifique à ce projet si vous êtes structuré en tant que projet Maven standard.

0
Puneet Lamba

Peut-être que vous pourriez regarder dans maven-Eclipse-plugin au lieu de M2Eclipse.

Dans ce cas, vous ajoutez essentiellement la configuration du plug-in maven-Eclipse à votre fichier pom.xml, puis vous exécutez mvn Eclipse:eclipse, qui générera les fichiers .project et .classpath requis pour Eclipse. Ensuite, vous aurez le bon chemin de construction dans Eclipse.

0
Juha Syrjälä

Cela a fonctionné pour moi dans Eclipse Oxygen (4.7.0): 

Cliquez avec le bouton droit sur Projet -> Maven -> Sélectionner les profils Maven ... puis cochez la case Proxy du référentiel, puis appuyez sur OK.

0
r590