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?
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.
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.
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.
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).
Si vous avez créé un "Projet Maven" sous Eclipse (Ctrl + N> Projet Maven), il devrait déjà être "Prêt Maven".
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.
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.
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
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.
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 .
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:
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
Pour les versions plus récentes d’Eclipse (> = Mars), cliquez avec le bouton droit sur projet> Configurer> Convertir en projet Maven.
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.
Ajout de mes réponses pour deux raisons:
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.
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é.
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.
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.
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.
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.
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.