Cómo corregir el error "Actualización del proyecto Maven". Tipo de IClasspathEntry no compatible = 4?


412

He importado el proyecto maven en STS, cuando ejecuto el proyecto de actualización de actualización recibo:

"Updating Maven Project". Unsupported IClasspathEntry kind=4

¿Hay una solución para esto?


¿Funciona una construcción en línea de comando? ¿Qué versión de Maven?
khmarbaise

Tengo el mismo problema y no puedo resolver esta respuesta, ¿puede ver stackoverflow.com/questions/12049566/…?
Hemant Metalia

Respuestas:


613

Este problema se ha solucionado en m2e 1.5.0, que está disponible para Eclipse Kepler (4.3) y Luna (4.4)

Consulte https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14

El problema se debe al hecho de que STS (Spring IDE / Eclipse), así como Eclipse y otros IDE basados ​​en Eclipse, usan el complemento m2e (clipse) pero ese eclipse: eclipse probablemente se ha ejecutado en el proyecto. Cuando m2e encuentra una entrada "var" .classpath, arroja este error.

Los sitios de actualización se especifican en la siguiente URL:
http://eclipse.org/m2e/m2e-downloads.html

Si no puede usar m2e 1.5.0 por alguna razón, entonces:

  1. Deshabilite la naturaleza maven para el proyecto (a través del menú del botón derecho)

  2. Ejecutar mvn eclipse:clean(mientras su proyecto está abierto en STS / eclipse). Dependiendo del momento, es posible que deba realizar una actualización o dos en el proyecto antes de volver a habilitar la naturaleza experta. Debería poder ver que su proyecto ha perdido su naturaleza Maven. (El eclipse:cleanobjetivo simplemente borra el .project, .classpathy .settings/los archivos / directorios. También se puede simplemente eliminar esos archivos (de nuevo , mientras que el proyecto está abierto ) en lugar de correr mvn eclipse:clean.)

  3. Vuelva a habilitar la naturaleza maven.
    (La mayoría de las veces, esto se puede hacer haciendo clic derecho en el proyecto en cuestión en el panel del explorador de paquetes, y luego seleccionando 'Configurar' -> 'Convertir a Proyecto Maven')


3
Tuve que probar esto dos veces para que funcione. La primera vez que lo probé, la "var" volvió al archivo .classpath. Regenere los archivos con mvn eclipse: eclipse e intenté nuevamente. Funcionó la segunda vez.
Deepak Bala

1
Puede ser útil eliminar manualmente del archivo .classpath todo classpathentrycon el kindatributo establecido en var.
Puigcerber

31
Funcionó para mí, pero tuve que hacer una "Actualización" adicional antes de volver a habilitar la naturaleza Maven (en realidad en mi caso "Configurar como Proyecto Maven", ya que era un proyecto facetado)
Stuart Watt


2
Creo que te equivocas con las versiones de Eclipse: Eclipse Kepler es 4.3 y Luna es 4.4
vogella

63
  1. Haga clic derecho en su proyecto, seleccione Maven -> Eliminar Maven Nature.

  2. Abre tu terminal, ve a la carpeta de tu proyecto y haz mvn eclipse:clean

  3. Haga clic derecho en su proyecto y seleccione "Configurar -> Convertir en proyecto Maven"

Ahora tienes "IClasspathEntry tipo incompatible = 4 Eclipse Scala" desaparecer.


55
Gracias por esto. Sólo una nota para los demás, es mvn eclipse:clean, no mvn clean(me engañado por no prestar mucha atención).
Jin Kim

Okay. He creado src / java desde la línea cmd, después de importar el proyecto a Kepler. Ese fue el caso.
Zbyszek

43

A veces, incluso volver a importar el proyecto Maven no funcionará. Actualizar el proyecto correctamente en eclipse no es un proceso determinista. El único procedimiento 100% a prueba de fallas que he encontrado es:

  1. Desactiva Maven Nature, corre mvn eclipse:clean, reinicia, cruza los dedos y reza 3 veces.
  2. Si esto no funciona, elimine el proyecto, ejecute mvn eclipse:clean, vuelva a importar la actualización, ore y use la fuerza .
  3. Si esto todavía no funciona, reinicie Eclipse o incluso mejor su computadora . Mientras espera el reinicio, puede hacer una donación aleatoria para arreglar su Karma. Repita el paso 2 y no olvide rezar y controlar su ira. La ira lleva al odio. El odio lleva al sufrimiento.
  4. Pruebe todas las otras respuestas publicadas en este hilo. Es posible que deba probarlos todos al menos 3 veces antes de darse por vencido.
  5. Formatee su computadora, reinstale Eclipse y Maven . Ya no es necesario rezar, todos los dioses te odian de todos modos
  6. Elimine su proyecto git, grabe la unidad física que almacenó el repositorio remoto y escriba su proyecto desde cero.
  7. Encuentra una máquina del tiempo , viaja al pasado y convéncete de seguir otra carrera que no sea de programación o al menos para evitar Java

3
Intenté todo, sigue diciendo "Problema de gestión de dependencia de Maven" o "NullPointerException"
srirachapills

1
Mantener la calma y reiniciar Deshacer Repetir
yannicuLar

1
¿Qué te hizo Java?
Mal lavadora

2
@EvilWashingMachine Nada malo realmente .. Sólo intentó hacer una excusa para justificar el uso de una máquina del tiempo
yannicuLar

1
Mantén la calma y usa vim + terminal
Pratik Singhal

12
  1. Asegúrese de que la versión del complemento m2e (clipse) que está ejecutando es al menos 1.1.0

  2. Cerrar proyecto maven - haga clic derecho en "Cerrar proyecto"

  3. Elimine manualmente toda classpathentry con kind = "var" en el archivo .classpath
  4. Proyecto abierto

o

  1. Eliminar proyecto maven
  2. Manualmente rmeove .classpath 4 Reimportar proyecto

El error no está en STS según lo indicado por @Marco. Es un problema general de m2e. Deshabilite la naturaleza Maven, elimine el archivo .classpath, vuelva a habilitar la naturaleza Maven.
sbzoom

6

Has probado:

  1. Si tiene un proyecto de importación en el eclipse 4, elimínelo.
  2. En Maven Consol, ejecute: mvn eclipse: clean
  3. En Eclipse 4: Archivo -> Importar -> Maven -> Proyectos Maven existentes

1
antes de hacer esto, asegúrese de que el complemento Maven Eclipse no se haya ejecutado anteriormente en el proyecto. mvn eclipse: clean lo arreglará si es necesario.
Elección

3
Esto funcionó mejor para mí en Juno. Eliminé los proyectos en Eclipse y luego los reimporté.
cs94njw

Sin efecto en Eclipse Kepler
Zbyszek

3

Ver todas las otras respuestas. Encontré para mí una manera más simple.

Acabo de eliminar todas las líneas en el .classpath (edición con eclipse) que contiene un var y usé maven -> proyecto de actualización sin un error.


Esto funcionó para mí, también necesitaba eliminar una línea "jarra" que contenía una jarra maven.
dwjohnston

2

Este error también se produce si el comando de actualización se usa en un proyecto instrumentado para la cobertura de código con Clover.

Para resolver en este escenario: Elimine el instrumental de las carpetas del proyecto que desea actualizar. Ejecute la actualización de Maven y luego el instrumento para la cobertura del código nuevamente.


0

Intenté los pasos de Marco pero no tuve suerte. En cambio, si solo obtiene el último complemento m2e del enlace que proporciona y uno por uno, haga clic derecho en cada proyecto -> Maven -> Actualizar dependencias, el error aún aparece, pero el problema está resuelto. Es decir, las advertencias desaparecen en la vista de Marcadores. Encontré este problema después de importar algunos proyectos en SpringSource Tool Suite (STS). Cuando volví a mi instalación de Eclipse Juno, aparecían las advertencias. Al ver que ya tenía instalado m2e 1.1, probé los pasos de Marco sin éxito. Sin embargo, obtener la última versión lo solucionó.


1
Gracias, edité mi respuesta para enfatizar que debería obtener la última versión, no solo 1.1.0, que era en ese momento la última versión.
Marco

Si utiliza Eclipse MarketPlace en lugar de descargarlo a través de un sitio externo, siempre obtendrá la última versión.
Jops

0

No pude obtener mvn eclipse: clean, etc. para trabajar con Kepler.

Sin embargo, cambié la creación y extensión de variables a solo usar jarras externas en mi eclipse classpath. Esto se reflejó en no var's en mi .classpath.

Esto corrigió el problema. Pude hacer una actualización de Maven.


0

Este problema ( https://bugs.eclipse.org/394042 ) se corrige en m2e 1.5.0, que está disponible para Eclipse Kepler y Luna en este repositorio p2:

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

Si también usa m2e-wtp, necesitará instalar m2e-wtp 1.1.0 también:

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


El primer enlace produce "Lo sentimos, no se puede encontrar la página o el archivo. Aquí hay algunas razones por las que ..."
Jaroslav Záruba

La razón n. ° 1 se aplica aquí: este es un sitio de actualización de Eclipse / repositorio p2; debe acceder desde Eclipse (consulte help.eclipse.org/luna/index.jsp?topic=//… ).
Fred Bricon

0

La actualización de Kepler a Luna funcionó para mí.

Acababa de agregar algunos componentes para el soporte de Java 1.8. Parece que no fueron tan compatibles como me gustaría o que mezclé los incorrectos. Realmente causó muchos problemas. Intentar actualizar el sistema informó errores, ya que no podían cumplir con algunas dependencias. Las actualizaciones de Maven no funcionaron. Intenté muchas cosas.

Por lo tanto, si no hay ninguna razón para evitar la actualización, simplemente agregue el repositorio luna a los sitios de software disponibles (Luna http://download.eclipse.org/releases/luna/ ) y " busque actualizaciones". Es mejor tener todos los componentes con la misma versión y hay algunas características nuevas y agradables.


0

Intenté todos los pasos mencionados aquí y en preguntas similares, pero no pude resolver este problema. No pude resolver el problema ni actualizar mi m2eclipse. Así que instalé Eclipse Luna y resolvió mi problema ... aunque eso significaba que tenía que pasar unos 45 minutos para configurar todo el entorno en mi espacio de trabajo.


0

Pruebe mvn clean install eclipse: eclipse -Dwtpversion = 2.0 command en el símbolo del sistema de DOS. Te sugiero porque, ¡funcionó para mí!


0

Estoy usando Eclipse 4.3.2 (Kepler) con M2E 1.4.xy ¡me he sentido sobre este problema varias veces!

En mi caso, el comando "mvn eclipse: eclipse" también genera la configuración de Checkstyle, PMD y Findbugs, por lo que "mvn eclipse: clean" no me ayuda porque deja caer todos esos archivos de configuración nuevamente.

La mejor solución para mí fue eliminar todos los archivos ".classpath":

find . -name ".classpath" -delete

e importar el proyecto en eclipse después.


0

Antes de importar el proyecto, debe convertirse en eclipse project mvn eclipse: eclipse Entonces encontré el siguiente error. Se produjo un error interno durante: "Importar proyectos Maven". Tipo de IClasspathEntry no compatible = 4

¿Dónde está el valor kind = "var" que M2E no reconoce y, por lo tanto, arroja el error?

Ahora escriba esto. mvn eclipse: clean

Ahora actualice el proyecto en eclipse o vuelva a importar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.