Comment ajouter une dépendance Maven dans Eclipse?

128

Je ne sais pas du tout comment utiliser Maven. Je développe depuis quelques années avec Eclipse et je n'ai pas encore eu besoin de le savoir. Cependant, je regarde maintenant certains documents qui suggèrent de faire ce qui suit:

"Pour l'inclure dans votre projet, ajoutez simplement cette dépendance maven à votre build."

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

Comment faire cela avec mon projet Eclipse?

Supposez que je ne sais rien de Maven. Je viens de comprendre qu'il pourrait être installé sur mon ordinateur en tapant mvnsur la ligne de commande, mais c'est sérieusement l'étendue de mes connaissances. Je serais heureux de continuer à ne rien savoir sur Maven s'il existe une manière équivalente, non Maven, de suivre ces instructions avec Eclipse.

Riley Lark
la source
2
Avez-vous lu le guide de démarrage Maven: maven.apache.org/guides/getting-started/index.html
Dan W
4
L'équivalent non-Maven: trouvez toutes les bibliothèques dont vous avez besoin et ajoutez-les au chemin de construction de votre projet (répertoire lib). "Toutes les bibliothèques dont vous avez besoin" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 est la version actuelle ...) plus toutes les dépendances. "Toutes les dépendances" est ce que Maven fait pour vous (dans cette situation). En regardant vers le haut, ils sont jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Apprenez un peu Maven, ça vaut vraiment le coup.
Hauke ​​Ingmar Schmidt
Vous trouverez plus d'informations sur Maven dans le guide Maven: The Complete Reference , et vous devriez également envisager d'installer le plugin Eclipse M2E (anciennement m2eclipse).
matsev

Réponses:

204
  1. Dans la barre de menu supérieure, ouvrez Fenêtre -> Afficher la vue -> Autre
  2. Dans la fenêtre Afficher la vue, ouvrez Maven -> Maven Repositories

    Afficher la vue - Dépôts Maven

  3. Dans la fenêtre qui apparaît, cliquez avec le bouton droit sur Global Repositories et sélectionnez Go Into

  4. Faites un clic droit sur " central ( http://repo.maven.apache.org/maven2 ) " et sélectionnez " Rebuild Index "

    • Notez que cela prendra un certain temps pour terminer le téléchargement
  5. Une fois l'indexation terminée, faites un clic droit sur le projet -> Maven -> Ajouter une dépendance et commencez à taper le nom du projet que vous souhaitez importer (tel que "hibernate").

    • Les résultats de la recherche se rempliront automatiquement dans la case "Résultats de la recherche" ci-dessous.
Oded Breiner
la source
156
La légende l'a, il reconstruit toujours l'index.
25
Un conseil: Eclipse (au moins la dernière version en mai 2016) se bloque ocmpletely lors de la reconstruction de l'index central du référentiel Maven. Et le statut est bloqué sur "0%" depuis cinq minutes maintenant. Ne faites aucun plan.
Saustrup
7
Merde, je m'ennuie<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
J'ai été assez fou pour essayer d'ouvrir le dossier central ... ne faites pas ça ...
Pas aimé le
15
Remarque: s'il ne s'agissait pas d'un projet Maven. Avant l'étape 5, vous devez cliquer avec le bouton droit sur projet -> configurer -> convertir en projet Maven. Ensuite, l'étape 5 fonctionnera.
cliff2310
26

En fait, lorsque vous ouvrez le pom.xml, vous devriez voir 5 onglets en bas. Cliquez sur le pom.xml et vous pouvez saisir les dépendances de votre choix.

entrez la description de l'image ici

DoraShine
la source
m'a beaucoup aidé. n'a pas remarqué les 5 onglets avant
M. Smith
2
Eclipse ne reconnaît toujours pas les dépendances de mon pom.xml dans mon code. Lorsque j'utilise IntelliJ, il les télécharge automatiquement et les configure pour l'achèvement du code, eclipse ne le fait-il pas?
Cas Eliëns
Si vous connaissez déjà les détails de votre dépendance (identifiant de groupe, identifiant d'artefact, version), alors c'est beaucoup plus rapide que de télécharger Internet simplement pour l'inclure my-favorite-library.jardans votre projet.
Christopher Schultz
10

Vous devez utiliser un plugin Maven pour Eclipse pour le faire correctement. Le plugin m2e est intégré à la dernière version d'Eclipse et fait un travail décent sinon parfait d'intégration de Maven dans l'EDI. Vous voudrez créer votre projet en tant que «projet Maven». Vous pouvez également importer un Maven POM existant dans votre espace de travail pour créer automatiquement des projets. Une fois que vous avez votre projet Maven dans l'EDI, ouvrez simplement le POM et ajoutez-y votre dépendance.

Maintenant, si vous n'avez pas de plugin Maven pour Eclipse, vous devrez obtenir le (s) jar (s) pour la dépendance en question et les ajouter manuellement en tant que références de chemin de classe à votre projet. Cela pourrait devenir désagréable car vous aurez besoin non seulement du JAR de niveau supérieur, mais également de toutes ses dépendances.

Fondamentalement, je vous recommande d'obtenir un plugin Maven décent pour Eclipse et de le laisser gérer la gestion des dépendances pour vous.

la perception
la source
2
Merci d'avoir répondu. J'ai déjà un projet avec 1000 fichiers - y a-t-il un moyen d' ajouter le support maven, au lieu de partir de zéro? J'ai la dernière version d'Eclipse
Riley Lark
3
Avec la dernière version d'Eclipse et m2e, vous pouvez cliquer avec le bouton droit sur un projet Java standard et activer la gestion des dépendances pour celui-ci. Cela générera un pom.xml pour le projet, tout en laissant sa structure intacte.
Perception le
7

Ouvrez le fichier pom.xml.

sous la projectbalise, ajoutez <dependencies>une autre balise et google pour les dépendances Maven. J'ai utilisé ceci pour rechercher.

Donc, après avoir obtenu la dépendance, créez une autre balise à l' dependencyintérieur de la <dependencies>balise.

Donc, en fin de compte, cela ressemblera à quelque chose comme ça.

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

J'espère que ça aide.

à la dérive9987
la source
2

J'ai rencontré le problème similaire et résolu en copiant les fichiers Jar manquants dans le chemin .M2,

Par exemple: si vous voyez le message d'erreur, Missing artifact tws:axis-client:jar:8.7vous devez télécharger le fichier "axis-client-8.7.jar" et le coller dans l'emplacement ci-dessous résoudra le problème.

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ axis-client \ 8.7 (Coller axis-client-8.7.jar).

enfin, faites un clic droit sur projet-> Maven-> Mettre à jour le projet ... C'est tout.

bon codage.

NARAYANASAMY VELUSAMY
la source
Merci! Ce n'était pas mon problème spécifique mais cela m'a aidé à le résoudre. Dans mon cas, mon pot était au bon endroit mais le chemin était légèrement faux.
Captain Fantastic
-1

J'ai rencontré le même problème avec les dépendances maven, par exemple: malheureusement, vos dépendances maven sont supprimées de votre chemin de construction, alors vous obtenez beaucoup d'exceptions, si vous suivez le processus ci-dessous, vous pouvez facilement résoudre ce problème.

 Faites un clic droit sur projet >> maven >> updateProject >> selectProject >> OK

Vinay K
la source