Come posso aggiungere una dipendenza Maven in Eclipse?


128

Non so affatto usare Maven. Sto sviluppando da un paio d'anni con Eclipse e non ho ancora avuto bisogno di saperlo. Tuttavia, ora sto esaminando alcuni documenti che suggeriscono di fare quanto segue:

"Per includerlo nel tuo progetto, aggiungi questa dipendenza maven alla tua 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>

Come posso farlo con il mio progetto Eclipse?

Per favore, presumi che non sappia niente di Maven. Ho appena capito che potrebbe essere installato sul mio computer digitando mvnsulla riga di comando, ma questa è seriamente l'estensione delle mie conoscenze. Sarei felice di continuare a non sapere nulla di Maven se esiste un modo equivalente e non Maven di seguire queste istruzioni con Eclipse.


2
Hai letto la Guida di partenza di Maven: maven.apache.org/guides/getting-started/index.html
Dan W

4
L'equivalente non Maven: trova tutte le librerie di cui hai bisogno e aggiungile al percorso di compilazione del tuo progetto (directory lib). "Tutte le librerie di cui hai bisogno" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 è la versione corrente ...) più tutte le dipendenze. "Tutte le dipendenze" è ciò che Maven fa per te (in questa situazione). Guardandoli sono jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Impara un po 'di Maven, ne vale assolutamente la pena.
Hauke ​​Ingmar Schmidt,

Troverai maggiori informazioni su Maven nel Maven: la guida di riferimento completa e dovresti anche considerare di installare il plugin Eclipse M2E (precedentemente noto come m2eclipse).
matsev,

Risposte:


204
  1. Nella barra dei menu in alto, apri Finestra -> Mostra vista -> Altro
  2. Nella finestra Visualizza vista, apri Maven -> Maven Repositories

    Mostra vista - Maven Repositories

  3. Nella finestra visualizzata, fai clic con il pulsante destro del mouse su Archivi globali e seleziona Vai a

  4. Fare clic con il tasto destro su " central ( http://repo.maven.apache.org/maven2 ) " e selezionare " Ricostruisci indice "

    • Si noti che ci vorrà del tempo per completare il download
  5. Una volta completata l'indicizzazione, fai clic con il pulsante destro del mouse sul progetto -> Maven -> Aggiungi dipendenza e inizia a digitare il nome del progetto che desideri importare (ad esempio "ibernazione").

    • I risultati della ricerca verranno compilati automaticamente nella casella "Risultati della ricerca" di seguito.

156
La leggenda l'ha, sta ancora ricostruendo l'Indice.

25
Avvertenza: Eclipse (almeno l'ultima versione di maggio 2016) si blocca in modo oculato mentre ricostruisce l'indice del repository Maven centrale. E lo stato è stato bloccato su "0%" per cinque minuti ormai. Non fare piani.
Saustrup,

7
Accidenti, mi manca<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan,

12
Sono stato abbastanza sciocco da provare ad aprire la cartella centrale ... non farlo ...
Non mi è piaciuto il

15
Nota: se questo non fosse un progetto Maven. Prima del passaggio 5, è necessario fare clic con il pulsante destro del mouse su progetto -> configura -> converti in progetto Maven. Quindi il passaggio 5 funzionerà.
cliff2310

26

Infatti quando apri pom.xml, dovresti vedere 5 schede in fondo. Fai clic su pom.xml e puoi digitare le dipendenze che desideri.

inserisci qui la descrizione dell'immagine


mi ha aiutato alla grande. non ho notato le 5 schede precedenti
M. Smith,

2
Eclipse non riconosce ancora le dipendenze dal mio pom.xml nel mio codice. Quando uso IntelliJ, li scarica automaticamente e li imposta per il completamento del codice, eclipse non lo fa?
Cas Eliëns,

Se conosci già i dettagli della tua dipendenza (ID gruppo, ID artefatto, versione), questo è molto più veloce del download di Internet solo per includerlo my-favorite-library.jarnel tuo progetto.
Christopher Schultz,

10

È necessario utilizzare un plug-in Maven per Eclipse per farlo correttamente. Il plugin m2e è integrato nell'ultima versione di Eclipse e fa un lavoro decente se non perfetto di integrazione di Maven nell'IDE. Dovrai creare il tuo progetto come "Progetto Maven". In alternativa, puoi importare un Maven POM esistente nel tuo spazio di lavoro per creare automaticamente progetti. Una volta che hai il tuo progetto Maven nell'IDE, apri semplicemente il POM e aggiungi la tua dipendenza.

Ora, se non si dispone di un plug-in Maven per Eclipse, sarà necessario ottenere i jar per la dipendenza in questione e aggiungerli manualmente come riferimenti del percorso di classe al progetto. Ciò potrebbe diventare spiacevole in quanto non sarà necessario solo il JAR di livello superiore, ma anche tutte le sue dipendenze.

Fondamentalmente, ti consiglio di ottenere un decente plugin Maven per Eclipse e lasciarlo gestire la gestione delle dipendenze per te.


2
Grazie per la risposta. Ho già un progetto con 1000 file al suo interno - c'è un modo per aggiungere il supporto Maven, invece di iniziare da zero? Ho l'ultima versione di Eclipse
Riley Lark il

3
Con l'ultima versione di Eclipse e m2e è possibile fare clic con il tasto destro su un normale progetto Java e abilitarne la gestione delle dipendenze. Questo genererà un pom.xml per il progetto, lasciando intatta la sua struttura.
Percezione

7

Apri il file pom.xml.

sotto il projecttag aggiungi <dependencies>come altro tag e google per le dipendenze Maven. Ho usato questo per la ricerca.

Quindi, dopo aver ottenuto la dipendenza, crea un altro tag dependencyall'interno del <dependencies>tag.

Quindi alla fine sembrerà qualcosa del genere.

<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>

Spero che sia d'aiuto.


2

Ho riscontrato il problema simile e risolto copiando i file Jar mancanti in .M2 Path,

Ad esempio: se viene visualizzato il messaggio di errore, Missing artifact tws:axis-client:jar:8.7è necessario scaricare il file "axis-client-8.7.jar" e incollare lo stesso nella posizione seguente per risolvere il problema.

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

infine, fai clic destro su progetto-> Maven-> Aggiorna progetto ... Ecco fatto.

buona programmazione.


Grazie! Questo non era il mio problema specifico, ma mi ha aiutato a risolverlo. Nel mio caso il mio vaso era nella posizione corretta ma il percorso era leggermente sbagliato.
Captain Fantastic,

-1

Ho riscontrato lo stesso problema con le dipendenze di Maven, ad es .: sfortunatamente le tue Maven sono state cancellate dal tuo percorso di costruzione, quindi le persone ottengono molte eccezioni, se segui il processo di seguito puoi facilmente risolvere questo problema.

 Fare clic con il tasto destro sul progetto >> maven >> aggiornamentoProgetto >> selezionareProgetto >> OK

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.