Dipendenze Maven mancanti nel progetto Eclipse

Abbiamo creato un progetto con Maven per la risoluzione delle dipendenze. Di solito funziona bene, ma ora sto cercando di compilarlo ed eseguirlo su un nuovo PC e ho problemi con le dipendenze mancanti in Eclipse.

La cosa divertente è che se eseguo “mvn package” in console o in eclipse, funziona bene e produce persino war contenente tutti i jar necessari. Solo Eclipse si lamenta con “Il progetto non è stato creato poiché il suo percorso di generazione è incompleto. Imansible trovare il file di class per org.slf4j.Logger …”. Se paragono il progetto con un altro computer (dove il progetto funziona correttamente), noto che ci sono alcune librerie mancanti nella lista “Maven dependencies” in Eclipse. Anche se sono nella guerra pacchettizzata e possono essere trovati anche nella cartella repository.

Quindi, i jar-s ci sono solo Eclipse non li elenca tutti in “dipendenze Maven”. Cosa posso fare?

Il computer è in esecuzione su Windows 7 con 64bit java ed eclipse.

Bene, ho provato tutto ciò che ho postato qui, purtroppo nel mio caso non funziona niente. Quindi, provando diverse combinazioni, sono uscito con questo che ha risolto il mio problema.

1) Apri il file .classpath nella radice del progetto di eclipse.

2) Inserisci la seguente voce nel file:

      

Quindi, ricostruisci il tuo progetto in eclipse (Progetto-> Pulisci-Costruisci). È ora ansible controllare il percorso di costruzione Java del progetto nella scheda Librerie incluse le dipendenze Maven: inserisci la descrizione dell'immagine qui

Problema risolto!

Non so cosa abbia risolto esattamente, ma ho fatto 4 cose in Eclipse:

  • Finestra-> Preferenze: Maven-> Installazioni: Impostazioni globali -> file aperto e LocalRepository hardcoded
  • Progetto-> Cancella
  • tasto destro del mouse sul progetto: Maven-> Aggiorna dipendenze
  • tasto destro del mouse sul progetto: Maven-> Aggiorna configurazione del progetto

Immagino fossero le dipendenze dell’aggiornamento dal momento che subito dopo i primi due non ci furono cambiamenti.

Il mio progetto era solo incasinato. Ecco come l’ho risolto per Eclipse Indigo x64 (J2EE 3.7.3):

  1. Cancellato il mio file POM (backedup ovviamente).
  2. Menu contestuale del progetto > Maven > Distriggers Maven Nature .
  3. Cancellato il progetto (ma non i contenuti sul disco).
  4. Reimportato come Import > Generale > Progetto esistente .
  5. Menu contestuale del progetto > Configura > Converti in progetto Maven ….
  6. Accetta le impostazioni predefinite dal wizard Maven.
  7. Sovrascrivi POM con il tuo POM di backup. (Ora hai la cartella delle dipendenze di Maven ).
  8. Maven Update / Clean per buona misura.

Spero che aiuti qualcuno. 🙂

Sono anche nuovo di Eclipse e ho riscontrato un problema simile in cui Eclipse non riconosce un’istruzione import, anche se tutti i segni indicano che la dipendenza è stata scaricata correttamente.

Dovresti controllare che il tuo file delle dipendenze sia stato effettivamente scaricato andando alla riga di comando e digitando

mvn dependency:tree

Se vedi il tuo pacchetto lì, ma Eclipse non lo riconosce, la cosa che funziona per me (a volte) è di andare al terminale, cd nella cartella del progetto e digitare

mvn eclipse:clean then mvn eclipse:eclipse

Infine aggiorna il progetto in eclipse

Non so perché funzioni, e a volte non funziona una volta, quindi farlo di nuovo funziona … quindi vale la pena provarlo!

Ho avuto questo problema per le dipendenze che sono state create in altri progetti. Le dipendenze di terze parti scaricate si sono rivelate eccellenti nel percorso di generazione, ma non in una libreria che avevo creato.

SOLUTION: nel progetto che non sta creando correttamente,

  • Fare clic con il tasto destro del mouse sul progetto e selezionare Proprietà, quindi Maven.

  • Deseleziona la casella ” Risolvi dipendenze dai progetti Workspace

  • Premi Applica, quindi OK.

  • Fai nuovamente clic con il tasto destro del mouse sul tuo progetto e fai un Maven-> Aggiorna istantanee (o Aggiorna dipendenze)

E i tuoi errori dovrebbero andare via quando il tuo progetto verrà ricostruito (automaticamente se hai auto-build abilitato).

Nel caso qualcuno abbia provato tutte le altre opzioni e tu sia ancora bloccato, prova a fare clic con il pulsante destro del mouse sulla cartella del progetto, vai sull’opzione Maven e fai clic sul pulsante “aggiungi dipendenza”. Per qualche ragione, Eclipse non sta aggiornando manualmente le dipendenze dal pom.xml al primo tentativo.

schermata della selezione del menu

Quindi sono circa 4 o 5 anni in ritardo per questa festa, ma ho avuto questo problema dopo aver ritirato dal nostro repo, e nessuna delle altre soluzioni da questo thread ha funzionato nel mio caso per sbarazzarsi di questi avvertimenti / errori.

Questo ha funzionato per me:

Da Eclipse vai a Finestra -> Preferenze -> Maven (espandi) -> Errori / Avvisi. L’ultima opzione legge “Esecuzione plug-in non coperta dalla configurazione del ciclo di vita”: utilizzare il menu a discesa per questa opzione e triggersre “Ignora”, quindi Applica, quindi OK. (Al prompt “Richiede l’aggiornamento dei progetti Maven”, dire OK).

Ulteriori informazioni:

Questo potrebbe non necessariamente “risolvere” il problema o i problemi sottostanti, e potrebbe non essere qualificato come “migliore pratica” da alcuni, tuttavia dovrebbe rimuovere / sopprimere questi avvisi dall’apparire in Eclipse e lasciarti andare avanti almeno. In particolare: stavo lavorando con Eclipse Luna Service Release 1 (4.4.1) con Spring Dashboard e Spring IDE Core (3.6.3), e m2e (1.5) installato, su Arch Linux e OpenJDK 1.7. Ho importato il mio progetto come progetto Maven esistente e ho selezionato OK se avvisato di avvertimenti / errori esistenti (per affrontarli successivamente).

Sopprimi / Rimuovi

(Scusate, non sono un designer, ma ho aggiunto un’immagine per maggiore chiarezza.)

Per i seguenti passaggi ha funzionato nel mio caso:

1 In eclipse, fare clic con il tasto destro del mouse sul progetto desiderato Maven -> Distriggers Maven Nature

2 Fare nuovamente clic con il pulsante destro del mouse, quindi selezionare Proprietà . Elimina ogni evidenza di dipendenza Maven esterna lasciando solo la libreria di sistema JRE.

3 Fare nuovamente clic con il pulsante destro del mouse sul progetto, quindi selezionare Configura -> Converti in progetto Maven

Ho avuto un problema simile. L’ho risolto eseguendo l’azione Maven-> Aggiorna configurazione del progetto

Bene, ho provato tutto ciò che ho postato qui, purtroppo nel mio caso non funziona niente. Quindi, provando diverse combinazioni, sono uscito con questo che ha risolto il mio problema.

1) Apri il file .classpath nella radice del progetto di eclipse.

2) Inserisci la seguente voce nel file:

       

Quindi, ricostruisci il tuo progetto in eclipse (Progetto-> Pulisci-Costruisci).

Nessuna delle soluzioni di cui sopra ha funzionato per me, quindi questa risposta è per chiunque altro nella mia situazione. Alla fine ho trovato il problema da solo e una soluzione diversa. Il file pom.xml conteneva un tag dependencyManagement che racchiudeva le dipendenze e M2Eclipse non aggiungeva la cartella delle dipendenze Maven quando era presente. Così, ho rimosso questo tag, quindi ho eseguito la soluzione offerta da Ualter Jr. ed Eclipse ha immediatamente aggiunto la cartella mancante!

Per me il problema era che Maven non riusciva a trovare il file settings.xml che si trova in myMavenFolder \ conf .

Quello che ho fatto per risolvere il problema è stato selezionare la giusta posizione del file settings.xml da eclipse:
Finestra -> Preferenze -> Maven -> Impostazioni utente

Infine, premi applica e aggiorna il tuo progetto

Se hai errori di “percorsi nidificati” dopo aver eseguito Maven -> Aggiorna configurazione progetto (o in Juno è “Configurazione aggiornamento …”), il percorso di compilazione non è configurato correttamente.

Fai clic con il tasto destro del mouse su progetto -> Percorso di creazione -> Configura percorso di creazione

Assicurati che siano inclusi solo “/ src” e le directory a quel livello. Se si dispone, ad esempio, di “/ src” e anche di “/ src / main / resources”, ciò non è corretto. La seconda risorsa (‘/ src / main / resources’) è “annidata” sotto il primo (‘/ src’) che causa l’impossibilità di importare le risorse, poiché impedisce a Eclipse di vedere le dipendenze di Maven.

Il mio problema sembra simile, quindi aggiungerò alla discussione. Avevo annullato l’importazione di un progetto Maven esistente in Eclipse, che non consentiva l’aggiornamento e non completava correttamente l’edificio dello spazio di lavoro.

Quello che dovevo fare per risolverlo era selezionare Run As... -> Maven build... e sotto Obiettivi Ho inserito la dependency:go-offline e l’ho eseguito.

Poi ho fatto clic con il tasto destro del mouse sul progetto e selezionato Maven -> Update Project... e aggiornato quel progetto specifico.

Questo finalmente gli ha permesso di creare le cartelle di origine e completare l’importazione.

Potrei risolvere l’errore di 1) Clic destro (il tuo progetto di maven) -> maven -> installazione di maven

Dopo l’installazione riuscita

2) Clic con il tasto destro del mouse (il tuo progetto di maven) -> maven -> aggiorna progetto. E l’intero errore di Maven è stato risolto!

Per me è stato sufficiente aggiungere un buildCommand (org.eclipse.m2e.core.maven2Builder) e una natura (org.eclipse.m2e.core.maven2Nature) nel file .project, in questo modo:

   iText      org.eclipse.jdt.core.javabuilder     org.eclipse.m2e.core.maven2Builder      org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature   

e ho avuto inserisci la descrizione dell'immagine qui

Questo è il modo in cui l’ho risolto

  • Finestra-> Preferenze: Maven-> Impostazioni utente (Fare clic su “Apri file” nella finestra risultante, o modificare semplicemente settings.xml con un editor di testo esterno come Blocco note) Assicurarsi che LocalRepository (che viene visualizzato in questa finestra) sia corretto. Ho avuto un errore di battitura nel mio file.
  • Dopo aver corretto settings.xml, fai clic su Update Settings, che si trova nella stessa schermata Preferences-> Maven-> User Settings.

Ora ricostruisci e installa gli ultimi JAR nella posizione corretta.

Ho avuto un problema simile e ho provato tutte le risposte in questo post. La cosa più vicina alla risoluzione di questo problema è stata combinando le soluzioni Joseph Lust e Paul Crease. Ho aggiunto il file pom.xml di backup dopo aver eliminato e reimportato il progetto, e non è comparso nulla finché non ho eliminato il tag di gestione delle dipendenze nel pom.xml e magicamente la cartella delle dipendenze era lì.

Tuttavia, ha interrotto i POM dei bambini poiché hanno bisogno della gestione delle dipendenze pom.xml padre per funzionare, e come risultato il mio MVN non funzionava correttamente sul progetto sia da Eclipse che dalla riga di comando, dando un errore pom.xml rotto.

L’ultima soluzione, se fallisce, è quella di importare manualmente i file .jar necessari al tuo progetto. Fare clic con il tasto destro del mouse sul progetto Proprietà -> Percorso build Java -> Librerie e Aggiungi Jar esterno.

Se il tuo MVN funziona correttamente dalla riga di comando e hai completato una build di successo sul progetto, avrai tutti i repository necessari nella cartella .m2 / repository. Aggiungi tutti i jar esterni menzionati nel tag delle dipendenze di pom.xml e vedrai una sezione della libreria di riferimento in Eclipse, con tutti gli errori rossi fastidiosi spariti.

Questa non è la soluzione ottimale, ma ti permetterà di lavorare in Eclipse senza errori di dipendenze mancanti e di build il progetto Maven sia da Eclipse che dalla riga di comando.

Questo stesso problema mi è successo ed è stato a causa di un errore nel download di un jar a causa di problemi di repo, indicato da una bandiera rossa nel pom.xml .

Ho aggiunto un altro repository quindi la bandiera rossa nel pom.xml scomparsa ed Eclipse ha quindi caricato di nuovo il pom, risolto il problema e elencato le dipendenze di maven in Project Explorer. sembra semplice e ovvio risolvere i problemi visibili, ma dal momento che Eclipse era abbastanza felice di eseguire Maven, e di build con successo, non era ovvio che il problema della bandiera rossa e dei repo fosse alla base della sua riluttanza ad analizzare il pom ed elencare il maven dipendenze

 mvn eclipse:clean 

quindi da eclipse: “Maven Update Project” fa il trucco!

aggiornare il percorso .class qui sotto funzionerà sempre.

                                   

Dipendenze Maven: cosa mi ha risolto in Eclipse? Ho aggiunto la dipendenza nel file “pom”. Ho fatto un build, ma non ho visto la dipendenza di Maven in Eclipse. Passaggio successivo: chiuso il progetto. Quindi riaprire il progetto. Potevo vedere le dipendenze di Maven.

Ecco i passi che ho seguito.
1. Progetto Maven eliminato da Eclipse.
2. Eliminato tutto il file (.setting / .classpath / target) diverso da src e pom dalla mia cartella di origine.
3. importato nuovamente come progetto Maven
4. ricostruiscilo, dovresti essere in grado di vedere le dipendenze di Maven.

È così sorprendente che questo unico problema ha così tante cause diverse e possibili soluzioni. Ho trovato ancora una soluzione diversa che ha funzionato per me.

Beh, non è tanto una soluzione, ma una scoperta: posso vedere il nodo Maven Dipendenze in Esplora pacchetti, che è l’impostazione predefinita per la prospettiva Java, ma non riesco a vederlo nella prospettiva Java EE, che utilizza Project Explorer per impostazione predefinita. Entrambi gli esploratori sembrano molto simili a colpo d’occhio, quindi potresti aspettarti di vedere le dipendenze di Maven in entrambi.

Mentre stavo cercando di capirlo, non mi ero reso conto di questa differenza, quindi alla fine non era davvero un problema per me.

l’intero progetto sembrava strano in eclipse, mancava la cartella delle dipendenze di maven, mostrava alcuni tipi come sconosciuti, ma ero in grado di costruirlo con successo in Maven. Quello che ha risolto il mio problema è stato l’aggiunta di una cartella gen al percorso di origine sul percorso di generazione del progetto.

Probabilmente questo è simile a questo Android / FBReaderJ / gen già esistente ma non è una cartella di origine. Converti in una cartella sorgente o rinominalo

In Eclipse STS se “Dipendenze Maven” scompare, devi controllare e correggere il tuo pom.xml . L’ho fatto (due volte) e l’ho risolto. Non era un problema di dipendenze, ma una stringa generata e spostata in una posizione casuale nel mio pom.xml .

Per i seguenti passaggi ha funzionato nel mio caso:

1 In eclipse, fare clic con il tasto destro del mouse sul progetto desiderato Maven -> Distriggers Maven Nature

2 Fare nuovamente clic con il pulsante destro del mouse, quindi selezionare Proprietà. Elimina ogni evidenza di dipendenza Maven esterna lasciando solo la libreria di sistema JRE.

3 Fare nuovamente clic con il pulsante destro del mouse sul progetto, quindi selezionare Configura -> Converti in progetto Maven

ha funzionato anche per me

La mia risposta è simile a quella di @JerylCook: trova un altro file .classpath in un progetto Maven funzionante, modifica quelli cattivi come quelli validi. La chiave è aggiungere

    

in ogni di tipo con e src . Non dimenticare di modificare in xxx .

Infine, aggiorna il progetto Maven e reinstalla / ricostruisci in Maven.

Tutto sopra non ha funzionato con me. Per la correzione era solo per eliminare la cartella del repository sotto .m2 e quindi fare un aggiornamento maven da Eclipse.

Così tante risposte. Vedete, ci potrebbero essere molte ragioni, perché questo non funziona, come previsto. Nel mio caso, inoltre, non mi ero reso conto del – Tag intorno alle mie dipendenze. facepalm

Esempio:

 ...    org.slf4j slf4j-log4j12 ${org.slf4j.version}    

questo solo DEFINISCE la dipendenza per questo e tutti i sottoprogetti con la versione desiderata! Questo è, come dovrebbe essere ad esempio nel master-POM. Per usare veramente la lib in QUESTO progetto attuale, devi aggiungere anche la depency come segue:

 ...    org.slf4j slf4j-log4j12 ${org.slf4j.version}      org.slf4j slf4j-log4j12   

ORA fornirà la lib in QUESTO progetto attuale.