2011-02-01 12 views
57

Ho creato un progetto Maven e voglio aggiungere tutti Maven dipendenze nel percorso di generazione del progetto in Eclipse. Quando vado in Java Build Path> Aggiungi libreria> Dipendenza gestita da Maven> Avanti nella finestra di dialogo delle proprietà del progetto, mi chiede di utilizzare "Impostazione progetto Maven" per configurare la risoluzione delle dipendenze di Maven.Come aggiungere la libreria "Dipendenze gestite Maven" nel percorso di costruzione eclissi?

La mia domanda è come aggiungere dipendenze Maven nel percorso di generazione di corrente?

risposta

46

dal tipo di linea di comando:

mvn eclipse:eclipse 

questo aggiungerà tutte le dipendenze che avete nel vostro pom.xml in Eclipse ...

tuttavia, se non hanno fatto nulla di tutto questo prima che tu possa aver bisogno di fare un altro passo, una sola volta.

Chiudere eclisse, quindi eseguire il seguente comando dalla shell:

mvn -Declipse.workspace=<eclipse workspace> eclipse:add-maven-repo 

campione:

mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ eclipse:add-maven-repo 
+8

[Eclipse: add-maven-repo] (http://maven.apache.org/plugins/maven-eclipse-plugin/add-maven-repo-mojo.html) è disapprovato in favore di [ eclipse: configure-workspace] (http://maven.apache.org/plugins/maven-eclipse-plugin/configure-workspace-mojo.html) – msrxthr

+26

Potrebbe essere necessario: "fare clic destro su progetto> Maven> Aggiorna progetto "per abilitare le dipendenze Maven ... ha funzionato per me, vedi http://stackoverflow.com/questions/2037188/how-to-configure-eclipse-build-path-to-use-maven-dependencies –

+0

@AdrienBe ha funzionato anche per me –

6

È possibile installare M2Eclipse e aprire il progetto come progetto di Maven in Eclipse. Creerà la configurazione e le voci necessarie.

Questo è utile anche per i successivi aggiornamenti alla pom. Con il plugin per eclissi di Maven, dovrai rigenerare manualmente la configurazione di Eclipse per ogni modifica.

+0

non funziona. – vaibhavcool20

+0

http://www.eclipse.org/m2e/ – FaithReaper

0

Se si utilizza un plug-in di eclipse per eseguire le attività di preparazione (ce ne sono 2: M2ecipse dal sonatype quello "ufficiale" e q4e su Google Code) quindi, ci sono opzioni nei menu contestuali (fare clic con il tasto destro del mouse sul progetto) per farlo senza dolore.

si possono avere entrambe i plugin che funzionano allo stesso tempo nel vostro banco di lavoro di Eclipse e utilizzarli indifferentemente su una base per progetto.

2

Ho potuto capire il problema. Stavo ricevendo il seguente avviso all'avvio di 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 

ho cambiato il file eclipse.ini e ha aggiunto in seguito e riavviato eclissi

-vm 
C:/Program Files/java/jdk1.6.0_21/bin/javaw.exe 

Ora posso vedere libreria "Maven Dipendenza" automaticamente incluso nel percorso di java build.

11

Ho lo stesso problema utilizzando SpringSource Tool Suite. Stavo importando un progetto Maven esistente che funzionava correttamente dalla riga di comando. Tuttavia, quando ho importato il progetto utilizzando import -> Maven -> progetto Maven esistente, il progetto non ha importato correttamente l'importazione e non ho potuto aggiungere la libreria delle dipendenze gestite da maven al percorso di build.

Se mi sono imbattuto mvn installare dalla riga di comando il progetto costruito con successo. Se eseguissi mvn eclipse: eclipse e poi importato in STS, allora tutto ha funzionato come previsto, salvo ovviamente dover eseguire nuovamente ogni volta che aggiornavo il pom, il che non era auspicabile.

ho lavorato intorno ad esso eseguendo mvn eclipse:eclipse e quindi manualmente l'aggiornamento.classpath per eliminare le dipendenze M2_REPO aggiunti da eclipse:eclipse e aggiungendo la voce m2eclipse dipendenza:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> 
    <attributes> 
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
    </attributes> 
</classpathentry> 

Poi ho importato progetto Maven esistente e ha funzionato come previsto.

Questo è un trucco e non sono sicuro di quali altre conseguenze eseguano eclipse:ecplise quando si lavora con m2eclipse. Ma almeno mi ha permesso di ottenere la compilazione del mio progetto in modo da poter iniziare a programmare.


EDIT 1/4/2013

La soluzione che ho postato qui sopra funziona temporaneamente, e non ho mai scoperto effetti collaterali negativi. Comunque, ho avuto questo problema alcune volte adesso e ogni volta il problema è che c'è una parte del pom che maven accetta ma m2eclipse su Barfs.

Quindi mi raccomando di rimuovere parti del pom 1 di 1 fino a quando non è possibile mavenize il progetto con successo. Continua ad eseguire Maven -> aggiorna la configurazione dopo ogni modifica pom finché non funziona come dovrebbe. Di solito inizio rimuovendo i blocchi di tag di configurazione del plug-in uno alla volta, iniziando dal più sospetto (cioè il più complicato).

Una volta mavenizes correttamente, è possibile ripristinare il pom e dovrebbe ancora funzionare come previsto.

Dopo l'esecuzione, cercherò le configurazioni incriminate per cercare di capire quale sia la correzione "corretta" (secondo m2eclipse, comunque).

Speriamo che questo approccio porti a una soluzione permanente invece di risolvere una soluzione hacky!

+0

La causa principale del mio problema è stata un problema nel pom relativo al compilatore Java. Quindi ho appena pensato di reiterare che la soluzione di cui sopra è solo un aggiramento finché la causa principale non viene scoperta e risolta. Una volta sistemato il pom, l'importazione di m2e in STS ha funzionato come previsto. – Marquee

+0

e a metà del 2016 ho ancora bisogno di aggiungere quella voce a .classpath manualmente (STS 3.8.1) ..... – razor

0

Prova: Fare clic con il pulsante destro del mouse sul progetto-> Maven-> Disabilita gestione delle dipendenze. E riattivare la gestione delle dipendenze.

30

Se avete m2e installato e il progetto è già un progetto Maven, ma le dipendenze Maven mancano ancora, il modo più semplice che ha funzionato per me era

  • destra clic sul progetto,
  • Maven,
  • Aggiornamento Progetto ...

Eclipse screenshot

+0

Dipendenze Maven rimosse dal mio percorso di build invece del mio assembly di distribuzione e non sono riuscito a recuperarle .Questo mi ha risparmiato un'ora e un mal di testa! – Paul

+0

ha funzionato per me come un fascino – minhas23

+3

non funziona, e se aggiungo Dipendenze gestite da Maven (aggiungi libreria sotto Java Build Path-> Libraries), non succede nulla ..... – razor

2

Se Maven-> Aggiorna progetto non funziona per te? Questi sono i passi che seguo religiosamente. Rimuovi il progetto da eclissi (non cancellarlo dallo spazio di lavoro) Chiudi Eclipse vai alla riga di comando ed esegui questi comandi.

mvn eclipse:clean 
mvn eclipse:eclipse -Dwtpversion=2.0 

Aprire Eclipse importazione progetto Maven esistente. Vedrai la dipendenza di tipo maven nel nostro progetto.

Spero che questo funzioni.

9

Assicurati che la tua strategia di pacchettizzazione definita nel tuo pom.xml non sia "pom". Dovrebbe essere "jar" o qualsiasi altra cosa.Una volta fatto questo, aggiornare il proprio progetto cliccando su di esso e andare a Maven -> Aggiornamento Progetto ...

+0

Questo è il suggerimento, per me va bene. Grazie! – Hardie82

+0

Questo ha funzionato anche per me! –

0

Si potrebbe anche prendere in considerazione di Maven-dipendenza-plugin per il vostro 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> 

Che voi può eseguire "pacchetto mvn" e Maven copierà tutte le dipendenze necessarie nella directory percorso_progetto/destinazione/nome_project/WEB-INF/lib /. Da lì è possibile copiarli nella directory project/lib e aggiungere come jar esterni (configurazione del percorso di configurazione delle impostazioni del progetto)

6
  • Installare il plug-in M2E.
  • Fare clic con il tasto destro del mouse sul progetto e selezionare Configura -> Converti in progetto Maven.

enter image description here

  • Poi un file pom.xml verranno visualizzati nel progetto. Fare doppio clic sul pom.xml, selezionare la scheda Dipendenza per aggiungere i vasi da cui dipende il progetto.
Problemi correlati