2016-05-31 37 views
59

Vedo un errore nel mio STS e non sono sicuro di come eseguirne il debug. Cercando in giro vedo solo vaghi riferimenti all'errore e nessuna soluzione.Errore m2e in MavenArchiver.getManifest()

L'errore è:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)pom.xml/<maven projectName> linea Configurazione 1 Maven Problema

Domanda: Qualcuno può dare qualche suggerimento su come ottenere maggiori informazioni sulla questione, al fine di effettuare il debug di ulteriori o eventuali soluzioni?

Forse qualche altro contesto su quale sia la funzionalità del metodo. La javadoc associata al metodo MavenArchiver.getManifest() non è molto dettagliata e non vedo traccia dello stack. Ho provato diversi aggiornamenti e aggiornamenti del progetto e dei progetti associati tra cui la cancellazione del mio repo locale.

STS informazioni:

  • Versione: 3.7.3.RELEASE
  • Corporatura Id: 201602250940
  • Piattaforma: Eclipse Mars.2 (4.5.2)

informazioni m2e:

  • Versione: 1.6.2.20150902-0002
+0

Probabilmente sarebbe necessario vedere pom.xml per diagnosticare il problema. Il codice si lamenta del layout del file pom.xml e questo non è un errore nel software Maven. Pertanto non ti aspetteresti di vedere un file di registro degli errori. Il motivo più comune che ho riscontrato è un errore tipografico nel contenuto dei tag o una mancata corrispondenza tra il tag iniziale e quello finale. –

+1

Il codice viene compilato correttamente quando viene eseguito dalla riga di comando. Penserei che sarebbe un errore se ci fosse un errore di battitura o tag, giusto? – scottmf

risposta

14

Ho trovato la mia risposta! Ho esaminato il pom per tutti i plug-in che hanno una dipendenza dall'archiviatore di maven e ho trovato il plugin maven-jar-do. Stava usando l'ultima versione 3.0.0. Quando ho declassata a 2.6 sembra risolvere il problema :-)

118

ho incontrato lo stesso problema dopo l'aggiornamento del maven-jar-plugin alla sua ultima versione (al momento della scrittura), 3.0.2.
Eclipse 4.5.2 iniziato segnalazione il file pom.xml con l'errore org.apache.maven.archiver.MavenArchiver.getManifest e Maven>Aggiornamento Progetto .. non sarebbe risolvere il problema.

soluzione facile: downgrade a 2.6 versione
infatti una possibile soluzione è quella di tornare alla versione 2.6, un ulteriore aggiornamento del progetto sarebbe quindi rimuovere alcun errore. Tuttavia, questo è non lo scenario ideale e una soluzione migliore è possibile: aggiornare le estensioni m2e (integrazione Eclipse Maven).

Soluzione migliore: estensioni di aggiornamento Eclipse M2E
Da Aiuto>installare nuovo software .., aggiungere un nuovo repository (tramite il Aggiungi .. opzione), che punta a uno dei seguenti URL :

  • https://otto.takari.io/content/sites/m2e.extras/m2eclipse-mavenarchiver/0.17.2/N/LATEST/ o

  • http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

Quindi seguire la procedura guidata di aggiornamento normalmente. Eclipse richiederebbe quindi un riavvio. Successivamente, un altro progetto di aggiornamento .. sul progetto Maven in questione eliminerebbe qualsiasi errore e la configurazione di Maven potrebbe quindi beneficiare dei vantaggi dell'ultima versione maven-jar-plugin.


note Additonal
La ragione di questo problema è che a partire dalla versione 3.0.0, il componente in questione, il maven-archiver e la relativa plexus-archiver è stato aggiornato a versioni più recenti, rompendo gli usi interni (via riflessioni) dell'integrazione m2e in Eclipse. L'unica soluzione è quindi aggiornare correttamente Eclipse, come descritto sopra.
Nota: anche se Eclipse inizialmente segnalava errori, il build di Maven (ad esempio dalla riga di comando) continuava a funzionare perfettamente, questo problema è solo correlato all'integrazione Eclipse-Maven, cioè all'IDE.

+1

Sono stato in grado di risolvere un problema simile eseguendo il downgrade di 'maven-war-plugin' da' 3.0.0' a '2.6'. –

+0

Non sono riuscito ad accedere al sito otto.takari.io, ma sono riuscito a ottenere l'estensione da http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/ULTIME/' – azurefrog

+2

Per Eclipse Mars funziona correttamente: http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/. Inseriscilo in Installa -> Lavora con il campo, 'Invio'. Controllare le estensioni di m2e nell'elenco (una sola scelta). – hariprasad

5

Ho avuto esattamente lo stesso problema. Il mio ambiente era:

  • primavera STS 3.7.3.RELEASE
  • Corporatura Id: 201.602.250.940
  • Piattaforma: Eclipse Mars.2 (4.5.2)

I sintomi dei problemi erano:

  1. C'era un flag di errore rosso su il mio file PM. e la descrizione dell'errore era come descritto nella domanda originale qui posta.
  2. Nel progetto erano noti problemi di compilazione nei vari file Java, ma eclipse non li mostrava ancora contrassegnato come errore nel riquadro dell'editor e albero di Esplora progetti sul lato sinistro.

La soluzione (descritta sopra) sull'aggiornamento delle estensioni m2e ha funzionato per me.

Meglio soluzione (il mio recommondation):

+0

questo era il conflitto esatto di plugin maven che stavo soffrendo con Spring STS 3.7.3 – ArifMustafa

2

Ho avuto lo stesso problema con un progetto di avvio a molla. la soluzione era di eseguire il downgrade del jar jar-jar-plugin da 3.2 a 2.6. Ho solo dovuto aggiungere questo al progetto pom:

<properties>   
    <maven-jar-plugin.version>2.6</maven-jar-plugin.version> 
</properties>