error m2e en MavenArchiver.getManifest ()

100

Veo un error en mi STS y no estoy seguro de cómo depurarlo. Buscando alrededor, solo veo vagas referencias al error y ninguna solución.

El error es:

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>línea 1 Problema de configuración de Maven

Pregunta : ¿Alguien puede dar alguna sugerencia sobre cómo obtener más información sobre el problema para poder depurarlo más o alguna posible solución?

Quizás un poco más de contexto sobre cuál es la funcionalidad del método. El javadoc asociado con el MavenArchiver.getManifest()método no es muy detallado y no veo ningún rastro de pila. Probé varias actualizaciones y actualizaciones del proyecto y los proyectos asociados, incluida la limpieza de mi repositorio m2 local.

Información STS :

  • Versión: 3.7.3.RELEASE
  • Id de compilación: 201602250940
  • Plataforma: Eclipse Mars.2 (4.5.2)

m2e info :

  • Versión: 1.6.2.20150902-0002
scottmf
fuente
Probablemente sería necesario ver el archivo pom.xml para diagnosticar el problema. El código se queja del diseño del archivo pom.xml, y esto no es un error dentro del software Maven. Por lo tanto, no esperaría ver un archivo de registro de errores. La razón más común por la que he experimentado es un error tipográfico en el contenido de las etiquetas o una falta de coincidencia entre la etiqueta inicial y final.
Bradley Ross
1
El código se compila muy bien cuando se ejecuta desde la línea de comandos. Creo que se produciría un error si hubiera un error tipográfico o una etiqueta que no coincida, ¿verdad?
scottmf
Aunque la primera respuesta a esta pregunta SO funcionó para mí, me gustaría saber por qué todo lo que veo es ese error y no tiene contexto. No dice lo que está pasando. solo dice un nombre de método "MavenARchiver.getManifest" - sin texto de error, nada ... ni siquiera cuando se lanza alguna excepción. ¿Dónde encontramos el error completo de cualquier problema en el eclipse? Tales X rojas son inútiles para nosotros. ¿De quién fue la tonta idea de imprimir el nombre de un método como un mensaje de error y eso es todo?
Calicoder

Respuestas:

196

Me encontré con el mismo problema después de actualizar el maven-jar-plugina su última versión (en el momento de la escritura), 3.0.2.
Eclipse 4.5.2comenzó a marcar el pom.xmlarchivo con el org.apache.maven.archiver.MavenArchiver.getManifesterror y Maven > Actualizar proyecto ... no lo arreglaría.

Solución fácil: cambiar a la versión 2.6
De hecho, una posible solución es volver a la versión 2.6, una nueva actualización del proyecto eliminaría cualquier error. Sin embargo, ese no es el escenario ideal y es posible una mejor solución: actualice las m2eextensiones (integración de Eclipse Maven).

Mejor solución: actualice las extensiones de Eclipse m2e
Desde Ayuda > Instalar nuevo software ... , agregue un nuevo repositorio (a través de la opción Agregar ... ), apuntando a la siguiente URL:

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

Luego siga el asistente de actualización como de costumbre. Entonces, Eclipse requeriría un reinicio. Posteriormente, un Proyecto de actualización adicional ... sobre el proyecto Maven en cuestión eliminaría cualquier error y su compilación Maven podría disfrutar de los beneficios de la última maven-jar-pluginversión.


Notas adicionales
El motivo de este problema es que a partir de la versión en 3.0.0adelante, el componente en cuestión, el maven-archivery el relacionado plexus-archiverse han actualizado a versiones más nuevas, rompiendo los usos internos (a través de reflejos) de la m2eintegración en Eclipse. Entonces, la única solución es actualizar correctamente Eclipse, como se describe anteriormente.
También tenga en cuenta: aunque Eclipse inicialmente informaría errores, la compilación de Maven (por ejemplo, desde la línea de comandos) seguiría funcionando perfectamente, este problema solo está relacionado con la integración de Eclipse-Maven, es decir, con el IDE.

A_Di-Matteo
fuente
3
Pude solucionar un problema similar bajando maven-war-pluginde 3.0.0a 2.6.
Ben Hutchison
1
No pude acceder al sitio otto.takari.io, pero pude obtener la extensión dehttp://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/
azurefrog
3
Para que Eclipse Mars funcione correctamente: repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/… . Ponlo en Instalar -> Trabajar con campo, 'Enter'. Marque las extensiones m2e en la lista (solo una opción).
hariprasad
1
Funciona también con "Mars.2".
Pino
16

¡Encontré mi respuesta! Busqué en el pom cualquier complemento que tenga una dependencia del maven-archiver y encontré que el maven-jar-plugin lo hace. Estaba usando la última versión 3.0.0. Cuando bajé a 2.6, parece solucionar el problema :-)

scottmf
fuente
14

Tuve el mismo problema con un proyecto de arranque de primavera. la solución fue degradar el complemento jar maven-jar-plugin de 3.2 a 2.6. Solo tenía que agregar esto al proyecto pom:

<properties>        
    <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
</properties>
Ala Messaoudi
fuente
11

Tuve exactamente el mismo problema. Mi entorno era:

  • Spring STS 3.7.3 LIBERACIÓN
  • Id de compilación: 201602250940
  • Plataforma: Eclipse Mars.2 (4.5.2)

Los síntomas de los problemas fueron:

  1. Había una bandera roja de error en mi archivo PM. y la descripción del error fue como se describe en la pregunta original formulada aquí.
  2. Había problemas de compilación conocidos en varios archivos Java del proyecto, pero eclipse aún no los mostraba marcados como error en el panel del editor ni en el árbol del explorador del proyecto en el lado izquierdo.

La solución (descrita anteriormente) sobre la actualización de las extensiones m2e funcionó para mí.

Mejor solución (mi recomendación):

Ravi Rajamiyer
fuente
este fue el conflicto exacto de complementos de Maven que estaba sufriendo con Spring STS 3.7.3
ArifMustafa
7

Tuve el mismo problema con un proyecto de arranque de primavera. La solución fue degradar la versión de dependencia spring-boot-starter-parent de 2.0.0.RELEASE a 1.5.10.RELEASE (puede pasar a cualquier versión estable)

de:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

a

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Saurav
fuente
7

También me enfrenté al mismo problema y se resolvió cambiando la versión de 3.2.0 a 2.6 como se muestra en el fragmento de pom.xml a continuación

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warSourceDirectory>src/main/webapp</warSourceDirectory>
        <warName>Spring4MVC</warName>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>
Vaibhav Sharma
fuente
4

Actualice sus extensiones m2e en lugar de degradarlas.

Desde Ayuda> Instalar nuevo software .., agregue un nuevo repositorio (a través de la opción Agregar ..)

Especifique el nombre de su complemento y agregue la ruta http://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-mavenarchiver/0.17.2/N/LATEST/

Una vez que haya terminado con la instalación, reinicie eclipse y actualice su proyecto.

VENKAT S
fuente
Probé muchas URL sin suerte, esta me salvó. thnx
Yashar
0

También enfrenté problemas similares, cambiar la versión de 2.0.0.RELEASE a 1.5.10.RELEASE funcionó para mí, inténtelo antes de degradar la versión de maven

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 </dependency>  
</dependencies>
Ravindra Dandothya
fuente
-1

Siga los pasos que se dan en este enlace . Funcionó para mí.

Paso - 1 Haga clic derecho en su proyecto en Eclipse

Paso - 2 Haga clic en Propiedades

Paso - 3 Seleccione Maven en la lista del lado izquierdo.

Paso - 4 Verá "pom.xml" en el cuadro de texto Active Maven Profiles en el lado derecho. Bórrelo y haga clic en Aplicar.

Paso - 5 Ejecutar como -> Maven clean -> Maven Install

¡Espero eso ayude!

Mantas
fuente