Come correggere l'errore "Aggiornamento del progetto Maven". Tipo IClasspathEntry non supportato = 4?


412

Ho importato il progetto Maven in STS, quando eseguo il progetto di aggiornamento degli aggiornamenti ricevo:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

C'è una soluzione per questo?


Funziona sulla riga di comando? Quale versione di Maven?
Khmarbaise,

Ho lo stesso problema e non riesco a evadere da questa risposta, per favore vedi stackoverflow.com/questions/12049566/…
Hemant Metalia

Risposte:


613

Questo problema è stato risolto in m2e 1.5.0, disponibile per Eclipse Kepler (4.3) e Luna (4.4)

Si prega di consultare https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14

Il problema è causato dal fatto che STS (Spring IDE / Eclipse), così come Eclipse e altri IDE basati su Eclipse, usano il plug-in m2e (clipse) ma che eclipse: probabilmente è stato eseguito sul progetto eclipse. Quando m2e rileva una voce "var" .classpath, genera questo errore.

I siti di aggiornamento sono indicati al seguente indirizzo:
http://eclipse.org/m2e/m2e-downloads.html

Se non puoi usare m2e 1.5.0 per nessun motivo, allora:

  1. Disabilita la natura di maven per il progetto (tramite il menu di scelta rapida)

  2. Esegui mvn eclipse:clean(mentre il progetto è aperto in STS / eclipse). A seconda della tempistica, potrebbe essere necessario eseguire un aggiornamento o due sul progetto prima di riattivare la natura di Maven. Dovresti essere in grado di vedere che il tuo progetto ha perso la natura di Maven. (L' eclipse:cleanobiettivo elimina solo la .project, .classpathe .settings/file / directory. È anche possibile rimuovere questi file (di nuovo mentre il progetto è aperto ) invece di correre mvn eclipse:clean.)

  3. Riattiva la natura del forno.
    (Il più delle volte, questo può essere fatto facendo clic con il tasto destro del mouse sul progetto in questione nel riquadro di esplorazione dei pacchetti, quindi selezionando "Configura" -> "Converti in progetto Maven")


3
Ho dovuto provare due volte per farlo funzionare. La prima volta che l'ho provato, il "var" è tornato nel file .classpath. Ho rigenerato i file con mvn eclipse: eclipse e riprovato. Ha funzionato la seconda volta.
Deepak Bala

1
Potrebbe essere utile rimuovere manualmente dal file .classpath tutto classpathentrycon l' kindattributo impostato su var.
Puigcerber,

31
Ha funzionato per me, ma ho dovuto fare un "aggiornamento" extra prima di riattivare la natura Maven (in realtà nel mio caso "Configura come progetto Maven" in quanto era un progetto sfaccettato)
Stuart Watt,


2
Penso che tu abbia sbagliato le versioni di Eclipse: Eclipse Keplero è 4.3 e Luna è 4.4
vogella

63
  1. Fare clic con il tasto destro del mouse sul progetto, selezionare Maven -> Rimuovi Maven Nature.

  2. Apri il tuo terminale, vai alla cartella del tuo progetto ed esegui mvn eclipse:clean

  3. Fare clic con il tasto destro del mouse sul progetto e selezionare "Configura -> Converti in progetto Maven"

Ora fai sparire “Unsupported IClasspathEntry kind = 4 Eclipse Scala”.


5
Grazie per questo. Solo una nota per gli altri, non lo mvn eclipse:cleanè mvn clean(sono stato ingannato dal non prestare molta attenzione).
Jin Kim,

Ok. Ho creato src / java dalla linea cmd, dopo aver importato il progetto in Kepler. Quello era il caso.
Zbyszek,

43

A volte, anche reimportare il progetto Maven non funzionerà. L'aggiornamento corretto del progetto in Eclipse non è un processo deterministico. L'unica procedura sicura al 100% che ho trovato è:

  1. Disabilita Maven Nature, corri mvn eclipse:clean, riavvia, incrocia le dita e prega 3 volte.
  2. Se questo non funziona, elimina il progetto, esegui mvn eclipse:clean, reimporta l'aggiornamento, prega e usa la forza .
  3. Se il problema persiste, riavvia Eclipse o ancora meglio il tuo computer . In attesa del riavvio, puoi effettuare una donazione casuale per correggere il tuo Karma. Ripeti il ​​passaggio 2 e non dimenticare di pregare e controllare la tua rabbia. La rabbia porta all'odio. L'odio porta alla sofferenza.
  4. Prova tutte le altre risposte pubblicate in questa discussione. Potrebbe essere necessario provarli tutti per 3 volte almeno prima di arrendersi.
  5. Formatta il tuo computer, reinstalla Eclipse e Maven . Non c'è più bisogno di pregare, tutti gli dei ti odiano comunque
  6. Elimina il tuo progetto git, masterizza l'unità fisica che ha archiviato il repository remoto e scrivi il tuo progetto da zero.
  7. Trova una macchina del tempo , viaggia nel passato e convinciti a seguire un'altra carriera non programmante o almeno per evitare Java

3
Ho provato tutto, continua a dire "Problema di gestione delle dipendenze Maven" o "NullPointerException"
srirachapills

1
Mantieni la calma e riavvia Annulla ripetizione
yannicuLar

1
Cosa ti ha mai fatto Java?
Lavatrice malvagia

2
@EvilWashingMachine Niente di male in realtà .. Ho appena provato a trovare una scusa per giustificare l'uso di una macchina del tempo
yannicuLar

1
Mantieni la calma e usa vim + terminal
Pratik Singhal,

12
  1. Assicurati che la versione del plug-in m2e (clipse) in esecuzione sia almeno 1.1.0

  2. Chiudi progetto maven - fai clic con il tasto destro su "Chiudi progetto"

  3. Rimuovere manualmente tutto classpathentry con kind = "var" nel file .classpath
  4. Progetto aperto

o

  1. Rimuovi progetto maven
  2. Manualy rmeove .classpath 4 Reimport project

L'errore non è con STS, come affermato da @Marco. È un problema generale di m2e. Disabilita la natura Maven, elimina il file .classpath, riattiva la natura Maven.
sbzoom,

6

Hai provato:

  1. Se hai un progetto di importazione in eclipse 4, per favore cancellalo.
  2. In mavn consol, esegui: mvn eclipse: pulito
  3. In Eclipse 4: File -> Importa -> Maven -> Progetti Maven esistenti

1
prima di farlo, assicurati che il plug-in Maven Eclipse non sia stato eseguito sul progetto in precedenza. mvn eclipse: clean lo riparerà se necessario.
AChoice

3
Questo ha funzionato meglio per me a Giunone. Ho eliminato i progetti in Eclipse e quindi reimportati.
cs94njw,

Nessun effetto in Eclipse Kepler
Zbyszek,

3

Vedere tutte le altre risposte. Ho trovato per me un modo più semplice.

Ho appena rimosso tutte le righe in .classpath (modificando con eclipse) contenente un var e ho usato maven -> aggiorna progetto senza errori.


Questo ha funzionato per me, anche per rimuovere una linea "jar" che conteneva un barattolo da forno.
dwjohnston,

2

Questo errore viene inoltre generato se il comando di aggiornamento viene utilizzato su un progetto strumentato per la copertura del codice con Clover.

Per risolvere in questo scenario: annullare la strumentazione delle cartelle del progetto che si desidera aggiornare. Esegui l'aggiornamento maven, quindi strumento per la copertura del codice.


0

Ho provato i passi di Marco ma senza fortuna. Invece se ottieni solo l'ultimo plug-in m2e dal link che fornisce e uno alla volta fai clic destro su ciascun progetto -> Maven -> Dipendenze dell'aggiornamento, l'errore viene ancora visualizzato ma il problema è stato risolto. Vale a dire che gli avvisi scompaiono nella vista Marker. Ho riscontrato questo problema dopo aver importato alcuni progetti in SpringSource Tool Suite (STS). Quando sono tornato all'installazione di Eclipse Juno, venivano visualizzati gli avvisi. Visto che avevo già installato m2e 1.1, ho provato i passaggi di Marco senza alcun risultato. Ottenere la versione più recente, tuttavia, è stato risolto.


1
Grazie, ho modificato la mia risposta per sottolineare che dovresti ottenere l'ultima versione, non solo la 1.1.0 che era al momento l'ultima versione.
Marco

Se usi Eclipse MarketPlace invece di scaricarlo da un sito esterno, otterrai sempre la versione più recente.
Jops,

0

Non riuscivo a ottenere mvn eclipse: clean etc per lavorare con Kepler.

Tuttavia, ho cambiato la creazione e l'estensione delle variabili per usare solo vasetti esterni nel mio percorso di classe eclissi. Questo si rifletteva in nessun var nel mio .classpath.

Questo ha corretto il problema. Sono stato in grado di fare un aggiornamento Maven.


0

Questo problema ( https://bugs.eclipse.org/394042 ) è stato risolto in m2e 1.5.0 che è disponibile per Eclipse Kepler e Luna da questo repository p2:

http://download.eclipse.org/technology/m2e/releases/1.5

Se usi anche m2e-wtp, dovrai installare anche m2e-wtp 1.1.0:

http://download.eclipse.org/m2e-wtp/releases/luna/1.1


Il primo link produce "Siamo spiacenti, non è possibile trovare la pagina o il file. Ecco alcuni motivi per cui ..."
Jaroslav Záruba,

Il motivo n. 1 si applica qui: si tratta di un repository sito / p2 di aggiornamento Eclipse; devi accedervi da Eclipse (vedi help.eclipse.org/luna/index.jsp?topic=//… ).
Fred Bricon,

0

L'aggiornamento da Keplero a Luna ha funzionato per me.

Avevo appena aggiunto alcuni componenti per il supporto di Java 1.8. Sembra che non fossero compatibili come avrei voluto o che mescolassi quelli sbagliati. Ha davvero causato molti problemi. Il tentativo di aggiornare il sistema ha segnalato errori poiché non potevano soddisfare alcune dipendenze. Gli aggiornamenti di Maven non hanno funzionato. Ho provato molte cose.

Quindi, se non vi è alcun motivo per evitare l'aggiornamento, è sufficiente aggiungere il repository luna a siti di software disponibili (Luna http://download.eclipse.org/releases/luna/ ) e "controllare gli aggiornamenti". È meglio avere tutti i componenti con la stessa versione e ci sono alcune nuove e belle funzionalità.


0

Ho provato tutti i passaggi menzionati qui e su domande simili ma non sono riuscito a risolvere questo problema. Non ho potuto risolvere il problema né aggiornare il mio m2eclipse. Quindi ho installato Eclipse Luna e risolto il mio problema ... anche se ciò significa che ho dovuto impiegare circa 45 minuti per configurare tutto l'ambiente nel mio spazio di lavoro.


0

Prova mvn clean install eclipse: eclipse -Dwtpversion = comando 2.0 al prompt dei comandi DOS. Ti suggerisco perché, ha funzionato per me !!


0

Sto usando Eclipse 4.3.2 (Kepler) con M2E 1.4.x e ho sentito questo problema diverse volte!

Nel mio caso il comando "mvn eclipse: eclipse" genera anche la configurazione Checkstyle, PMD e Findbugs, quindi "mvn eclipse: clean" non mi aiuta perché rilascia nuovamente tutti quei file di configurazione.

La soluzione migliore per me era eliminare tutti i file ".classpath":

find . -name ".classpath" -delete

e successivamente importa il progetto in eclissi.


0

Prima di importare il progetto, dovrebbe essere convertito nel progetto eclipse mvn eclipse: eclipse Poi ho trovato il seguente errore. Si è verificato un errore interno durante: "Importazione di progetti Maven". Tipo IClasspathEntry non supportato = 4

Dov'è il valore kind = "var" che M2E non riconosce e quindi genera l'errore.

Ora digita questo. mvn eclipse: pulito

Ora aggiorna il progetto in eclissi o reimporta.

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.