J'ai créé un projet Maven
et je veux ajouter toutes les dépendances Maven
au chemin de génération du projet dans Eclipse
. Lorsque je vais dans Chemin de construction Java> Ajouter une bibliothèque> Dépendance gérée Maven> Suivant dans la boîte de dialogue des propriétés du projet, il me demande d'utiliser "Paramètre du projet Maven" pour configurer la résolution de dépendance Maven.
Ma question est de savoir comment ajouter des dépendances maven dans le chemin de construction actuel.
à partir du type de ligne de commande:
mvn Eclipse:eclipse
cela ajoutera toutes les dépendances que vous avez dans votre pom.xml dans Eclipse ...
cependant, si vous n'avez rien fait de tel avant, vous devrez peut-être effectuer une autre étape une seule fois.
Fermez Eclipse, puis exécutez la commande suivante à partir du shell:
mvn -Declipse.workspace=<Eclipse workspace> Eclipse:add-maven-repo
échantillon:
mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ Eclipse:add-maven-repo
Si vous avez m2e installé et que le projet est déjà un projet maven mais que les dépendances maven sont toujours manquantes, le moyen le plus simple de fonctionner a été
J'ai le même problème avec SpringSource Tool Suite. J'importais un projet Maven existant qui fonctionnait bien à partir de la ligne de commande. Cependant, lorsque j'ai importé le projet à l'aide de import -> Maven -> projet Maven existant, le projet n'a pas été importé correctement et je ne pouvais pas ajouter la bibliothèque de dépendances gérées par maven au chemin de génération.
Si j'ai exécuté mvn install à partir de la ligne de commande, le projet a été construit avec succès. Si j'ai lancé mvn Eclipse: eclipse puis importé dans STS, tout a fonctionné comme prévu, sauf que, bien sûr, je devais le réexécuter à chaque fois que je mettais à jour le pom, ce qui n'était pas souhaitable.
J'ai résolu le problème en exécutant mvn Eclipse:eclipse
, puis en mettant à jour manuellement .classpath pour éliminer les dépendances M2_REPO ajoutées par Eclipse:eclipse
et en ajoutant l'entrée de dépendance m2Eclipse:
<classpathentry kind="con" path="org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="org.Eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
Ensuite, j'ai importé le projet Maven existant et cela a fonctionné comme prévu.
Ceci est un hack et je ne suis pas sûr des autres conséquences de l'exécution de Eclipse:ecplise
lors de l'utilisation de m2Eclipse. Mais cela m'a au moins permis de compiler mon projet pour pouvoir coder.
EDIT 1/4/2013
La solution de contournement que j'ai postée ci-dessus fonctionne temporairement et je n'ai jamais découvert d'effets secondaires négatifs. Cependant, j'ai eu ce problème à quelques reprises maintenant et à chaque fois, le problème est qu'il y a une partie du pom que maven accepte, mais m2Eclipse continue.
Je vous recommande donc de supprimer des parties du pom 1 à 1 jusqu'à ce que vous puissiez réussir le projet. Continuez simplement à exécuter maven -> mettez à jour la configuration après chaque modification de pom jusqu'à ce que cela fonctionne comme il se doit. Je commence généralement par supprimer les blocs de balises de configuration du plug-in un par un, en commençant par les plus suspects (c'est-à-dire les plus compliqués).
Une fois qu'il est correctement nettoyé, vous pouvez inverser le pom et il devrait toujours fonctionner comme prévu.
Une fois que je suis lancé, je recherche la ou les configurations incriminées pour essayer de déterminer le correctif «approprié» (selon m2Eclipse, de toute façon).
Espérons que cette approche mène à la solution permanente au lieu de se contenter d’une solution de contournement simpliste!
Assurez-vous que votre stratégie de packaging définie dans votre pom.xml n'est pas "pom". Ce devrait être "jar" ou autre chose. Une fois que vous avez fait cela, mettez à jour votre projet en cliquant dessus et allez dans Maven -> Mettre à jour le projet ...
Vous pouvez installer M2Eclipse et ouvrir le projet en tant que projet maven dans Eclipse. Cela créera la configuration et les entrées nécessaires.
Ceci est également utile pour les mises à jour ultérieures du pom. Avec le plugin maven Eclipse, vous devrez régénérer manuellement la configuration Eclipse pour chaque modification.
Si Maven-> Mettre à jour le projet ne fonctionne pas pour vous? ligne de commande et exécutez ces commandes.
mvn Eclipse:clean
mvn Eclipse:eclipse -Dwtpversion=2.0
Ouvrez Eclipse Importez le projet Maven existant . Vous verrez la dépendance maven dans notre projet.
J'espère que ça marche.
Je pourrais comprendre le problème. Je recevais un avertissement au démarrage d’Eclipse.
The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDk.
Please make sure the -vm option in Eclipse.ini is pointing to a JDK and verify that
Installed JRE's are also using JDK installs
J'ai changé le fichier Eclipse.ini et ajouté après et redémarré Eclipse
-vm
C:/Program Files/Java/jdk1.6.0_21/bin/javaw.exe
Maintenant, je peux voir la bibliothèque "Maven Dependency" incluse automatiquement dans le chemin de génération Java.
Suivez ces étapes
1) Aller dans le chemin de classe des projets
2) Aller dans l'onglet bibliothèque
3) cliquez sur Ajouter une bibliothèque
4) Dans la boîte de dialogue ouverte, sélectionnez Maven Managed Dependencies
5) Cliquez sur Suivant
6) Dans la nouvelle boîte de dialogue, cliquez sur Gérer les paramètres du projet.
7) Dans la boîte de dialogue ouverte, cochez la case Résoudre les dépendances à partir de l'espace de travail.
8) Cliquez sur Restaurer les paramètres par défaut
9) Cela fera un certain processus et vous aurez maintenant toutes vos dépendances dans votre bibliothèque.
Si vous utilisez un plugin Eclipse pour effectuer vos tâches maven (il y en a 2: M2ecipse de sonatype le "officiel" et q4e sur Google Code), il existe des options dans les menus contextuels (clic droit sur le projet) que sans douleur.
Vous pouvez avoir les deux plugins exécutés en même temps dans votre atelier Eclipse et les utiliser indifféremment projet par projet.
Essayez: Faites un clic droit sur votre projet-> Maven-> Désactiver la gestion des dépendances ..__et réactivez la gestion des dépendances.
Vous pouvez également envisager de maven-dependency-plugin sur votre pom:
<plugins>
...
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
Ensuite, vous pouvez exécuter "mvn package" et maven copiera toutes les dépendances nécessaires dans votre répertoire chemin_projet/cible/nom_projet/WEB-INF/lib /. De là, vous pouvez les copier dans votre répertoire project/lib et les ajouter en tant que fichiers JAR externes (configuration du chemin de construction des paramètres de votre projet).
Si vous avez supprimé la dépendance Maven de Bibliothèque par accident. Ajouter ci-dessous dans pom.xml
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>