plugin para oxygen for and eclipse maven-2 m2eclipse

para - maven in eclipse oxygen



Faltan dependencias Maven en el proyecto Eclipse (30)

¡Problema resuelto!

No sé exactamente qué lo resolvió, pero hice 4 cosas en Eclipse:

  • Ventana-> Preferencias: Maven-> Instalaciones: Configuración global -> abrir archivo y localRepository codificado
  • Proyecto-> Limpio
  • haga clic derecho en el proyecto: Maven-> Actualizar dependencias
  • haga clic derecho en el proyecto: Maven-> Actualizar la configuración del proyecto

Supongo que fueron las dependencias de Update ya que justo después de los dos primeros no hubo cambios.

Tenemos un proyecto establecido con maven para resolver dependencias. Por lo general funciona bien, pero ahora estoy tratando de compilarlo y ejecutarlo en una nueva PC y tengo problemas con las dependencias faltantes en Eclipse.

Lo que es gracioso es que si ejecuto "paquete mvn" en la consola o en eclipse, funciona bien e incluso produce una guerra que contiene todos los frascos necesarios. Solo Eclipse se queja con "El proyecto no se creó porque su ruta de compilación está incompleta. No se puede encontrar el archivo de clase para org.slf4j.Logger ...". Si comparo el proyecto con alguna otra computadora (donde el proyecto funciona bien), veo que faltan algunas bibliotecas en la lista de "Dependencias Maven" en Eclipse. A pesar de que están en la guerra empaquetada y se pueden encontrar también en la carpeta del repositorio.

Entonces, los jar-s están ahí, solo Eclipse no los listará a todos bajo las "dependencias de Maven". ¿Que puedo hacer?

La computadora se ejecuta en Windows 7 con 64bit java y eclipse.


Así es como lo resolví

  • Ventana-> Preferencias: Maven-> Configuración del usuario (haga clic en "abrir archivo" en la ventana resultante, o simplemente edite settings.xml con un editor de texto externo como el Bloc de notas). Asegúrese de que el repositorio local (que se muestra en esta ventana) sea el correcto. Tuve un error tipográfico en mi archivo.
  • Una vez que haya corregido settings.xml, haga clic en Configuración de actualización, que se encuentra en esta misma pantalla Preferences-> Maven-> User Settings.

Ahora reconstruya, e instalará los últimos JAR en la ubicación correcta.


Así que llegué unos 4 o 5 años tarde a esta fiesta, pero tuve este problema después de sacar de nuestro repositorio, y ninguna de las otras soluciones de este hilo funcionó en mi caso para deshacerse de estas advertencias / errores.

Esto funcionó para mí:

Desde Eclipse ve a Ventana -> Preferencias -> Maven (expandir) -> Errores / Advertencias. La última opción dice "Ejecución del complemento no cubierta por la configuración del ciclo de vida": use el menú desplegable para esta opción y alterne "Ignorar", luego Aplicar y luego Aceptar. (En el mensaje "Requiere actualización de Maven Projects", diga OK).

Informacion adicional:

Esto puede no necesariamente "corregir" el (los) problema (s) subyacente (s), y puede no calificar como "mejor práctica" para algunos, sin embargo, debería eliminar / suprimir estas advertencias para que no aparezcan en Eclipse y permitirle avanzar al menos. Específicamente, estaba trabajando con Eclipse Luna Service Release 1 (4.4.1) con Spring Dashboard & Spring IDE Core (3.6.3) y m2e (1.5) instalados, ejecutándose en Arch Linux y OpenJDK 1.7. Importé mi proyecto como un proyecto existente de maven y seleccioné OK cuando me avisaron sobre advertencias / errores existentes (para tratar con ellos más adelante).

(Lo siento, no soy un diseñador, sino una imagen añadida para mayor claridad).


Bueno, probé todo lo publicado aquí, lamentablemente nada funciona en mi caso. Entonces, probando diferentes combinaciones, salí con este que resolvió mi problema.

1) Abra el archivo .classpath en la raíz del proyecto de su eclipse.

2) Inserte la siguiente entrada en el archivo:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry>

Luego, reconstruya su proyecto en eclipse (Proyecto-> Limpiar-Construir). Ahora puede verificar en la ruta de compilación de Java de su proyecto en la pestaña Bibliotecas de las Dependencias de Maven incluidas:


Bueno, probé todo lo publicado aquí, lamentablemente nada funciona en mi caso. Entonces, probando diferentes combinaciones, salí con este que resolvió mi problema.

1) Abra el archivo .classpath en la raíz del proyecto de su eclipse.

2) Inserte la siguiente entrada en el archivo:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.nondependency" value=""/> </attributes> </classpathentry>

Luego, reconstruya su proyecto en eclipse (Proyecto-> Limpiar-Construir).


Dependencias de Maven: ¿Qué me solucionó en Eclipse? Agregué la dependencia en el archivo "pom". Hice una compilación, pero no pude ver la Dependencia de Maven en el Eclipse. Siguiente paso: Cerró el proyecto. Luego reabrió el proyecto. Pude ver las dependencias de Maven.


En Eclipse STS, si las "Dependencias Maven" desaparecen, debe verificar y reparar su pom.xml . Hice esto (dos veces) y lo resolví. No era un problema de dependencias, sino un String generado y movido en una posición aleatoria en mi pom.xml .


En caso de que alguien haya intentado todas las otras opciones y aún esté atascado, intente hacer clic derecho en la carpeta del proyecto, diríjase a la opción de Maven y haga clic en el botón "agregar dependencia". Por alguna razón, Eclipse no actualiza las dependencias manualmente desde el pom.xml al primer intento.


Es tan sorprendente que este único problema tenga tantas causas diferentes y posibles soluciones. Encontré una solución diferente que funcionó para mí.

Bueno, no es tanto una solución sino un descubrimiento: puedo ver el nodo Dependencias de Maven en el Explorador de paquetes, que es el predeterminado para la perspectiva de Java, pero no puedo verlo en la perspectiva de Java EE, que usa el Explorador de proyectos por defecto. Ambos exploradores se ven muy similares a simple vista, por lo que puede esperar ver las Dependencias de Maven en ambos.

Mientras trataba de resolver esto, no me había dado cuenta de la diferencia, así que en realidad no era realmente un problema para mí al final después de todo.


Me pasó el mismo problema, y ​​fue porque hay un error al descargar un jar debido a problemas de repos, indicado por una bandera roja en el pom.xml .

Agregué otro repositorio para que la bandera roja en el pom.xml desapareciera y Eclipse luego cargó el pom nuevamente, resolvió su problema y enumeró las dependencias maven en el Explorador de proyectos. suena simple y obvio para resolver problemas visibles, pero dado que Eclipse estaba bastante contento de ejecutar maven y construir con éxito, no era obvio que la bandera roja y el problema del repos estaban en la raíz de su falta de voluntad para analizar el pom y listar al maven dependencias


Mi problema parece similar, así que lo agregaré a la discusión. Había cancelado la importación de un proyecto maven existente en Eclipse, lo que resultó en que no se le permitió actualizar y no terminaría correctamente el edificio de Work Space.

Lo que tuve que hacer para resolverlo fue seleccionar Run As... -> Maven build... y bajo Metas ingresé a la dependency:go-offline y ejecutar eso.

Luego hice clic derecho en el proyecto y seleccioné Maven -> Update Project... y actualicé ese proyecto específico.

Esto finalmente le permitió crear las carpetas de origen y finalizar la importación.


Mi proyecto fue jodido. Aquí es cómo lo arreglé para Eclipse Indigo x64 (J2EE 3.7.3):

  1. Borré mi archivo POM (respaldado por supuesto).
  2. Menú contextual del proyecto > Maven > Desactivar Maven Nature .
  3. Eliminado el proyecto (pero no el contenido en el disco).
  4. Reimportar como Import > General > Proyecto existente .
  5. Menú contextual del proyecto > Configurar > Convertir a proyecto Maven ....
  6. Acepte los valores predeterminados del asistente de Maven.
  7. Sobrescriba POM con su copia de respaldo POM. (Ahora tienes la carpeta Maven Dependencies ).
  8. Maven Update / Clean por si acaso.

Espero que ayude a alguien. :)


Mi respuesta es similar a la de @JerylCook: encuentra otro archivo .classpath en un proyecto de Maven que funcione, edita los malos como los que funcionan bien. La clave es agregar

<attributes> <attribute name="maven.pomderived" value="true"/> </attributes>

en cada <classpathentry> de tipo con y src . No se olvide de cambiar <classpathentry .... /> a <classpathentry ...>xxx</classpathentry> .

Por último, actualice el proyecto maven y vuelva a instalar / reconstruir en maven.


Ninguna de las soluciones anteriores funcionó para mí, por lo que esta respuesta es para cualquier otra persona en mi situación. Eventualmente encontré el problema yo mismo, y una solución diferente. El archivo pom.xml contenía una etiqueta de dependencia management que envolvía las dependencias, y M2Eclipse no agregaba la carpeta Maven Dependencies cuando esto estaba presente. Entonces, eliminé esta etiqueta, luego llevé a cabo la solución ofrecida por Ualter Jr., ¡y Eclipse inmediatamente agregó la carpeta que faltaba!


Para los siguientes pasos trabajados en mi caso:

1 En eclipse, haga clic con el botón derecho en el proyecto deseado Maven -> Desactivar Maven Nature

2 Haga clic derecho nuevamente y luego vaya a Propiedades. Elimine todas las evidencias de la dependencia externa de Maven dejando solo la Biblioteca del Sistema JRE.

3 Haga clic derecho una vez más en el proyecto y luego vaya a Configurar -> Convertir a Proyecto Maven

funcionó para mí también


Para los siguientes pasos trabajados en mi caso:

1 En eclipse, haga clic con el botón derecho en el proyecto deseado Maven -> Desactivar Maven Nature

2 Haga clic derecho nuevamente y luego vaya a Propiedades . Elimine todas las evidencias de la dependencia externa de Maven dejando solo la Biblioteca del Sistema JRE.

3 Haga clic derecho una vez más en el proyecto y luego vaya a Configurar -> Convertir a Proyecto Maven


Para mí fue suficiente agregar un buildCommand (org.eclipse.m2e.core.maven2Builder) y una naturaleza (org.eclipse.m2e.core.maven2Nature) en el archivo .project, así:

<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>iText</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.m2e.core.maven2Builder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.m2e.core.maven2Nature</nature> </natures> </projectDescription>

Y yo tenía


Para mí, el problema fue que maven no pudo encontrar el archivo settings.xml que se encuentra en myMavenFolder / conf .

Lo que hice para solucionar el problema fue seleccionar la ubicación correcta del archivo settings.xml de eclipse:
Ventana -> Preferencias -> Maven -> Configuración de usuario

Finalmente, presiona aplicar y actualiza tu proyecto


Pude resolver el error 1) Haga clic con el botón derecho (su proyecto de maven) -> maven -> maven install

Después de una instalación exitosa

2) Haga clic con el botón derecho (su proyecto de maven) -> maven -> actualice el proyecto. ¡Y todo el error de maven fue resuelto!


Si tiene errores de "rutas anidadas" después de realizar Maven -> Actualizar configuración del proyecto (o en Juno es "Actualizar configuración ...") su ruta de compilación está mal configurada.

Haga clic derecho en el proyecto -> Construir ruta -> Configurar ruta de compilación

Asegúrese de que solo ''/ src'' y directorios estén incluidos en ese nivel. Si tiene, por ejemplo, ''/ src'' y también ''/ src / main / resources'' presente, esto es incorrecto. El segundo recurso (''/ src / main / resources'') está "anidado" debajo del primero (''/ src'') que está causando su incapacidad para importar recursos, ya que evita que eclipse vea las dependencias de maven.


También encontré este problema. Me confundió varias horas. Intenté muchas de las soluciones que se sugirieron en este tema. Finalmente, descubrí que se debía a los filtros de elementos de Java.


También soy nuevo en Eclipse, y he tenido un problema similar en el que Eclipse simplemente no reconocerá una declaración de importación, aunque todos los signos apuntan a que la dependencia se ha descargado con éxito.

Debería verificar que su archivo de dependencia se haya descargado yendo a la línea de comando y escribiendo

mvn dependency:tree

Si ve su paquete allí, pero Eclipse no lo reconoce, lo que a mí me funciona (a veces) es ir a la terminal, pegar en la carpeta del proyecto y escribir

mvn eclipse:clean luego mvn eclipse:eclipse

Finalmente refrescar proyecto en eclipse

No sé por qué funciona esto, y a veces no funciona una sola vez, luego hacerlo otra vez funciona ... ¡así que vale la pena intentarlo!


Tantas respuestas Usted ve, podría haber muchas razones, por qué esto no está funcionando, como se esperaba. En mi caso, tampoco me di cuenta de que - Etiqueta alrededor de mis dependencias. Facepalm

Ejemplo:

... <dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j.version}</version> </dependency> </dependencies> </dependencyManagement>

¡esto solo DEFINE la dependencia para este y todos los subproyectos con la versión deseada! Esto es, lo que debería ser, por ejemplo, en el master-POM. Para utilizar realmente la lib en ESTE proyecto actual, también debe agregar la dependencia de la siguiente manera:

... <dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> </dependencies>

AHORA proporcionará la lib en ESTE proyecto actual.


Todo lo anterior no funcionó conmigo. La solución solo consistía en eliminar la carpeta del repositorio en .m2 y luego hacer una actualización del maven desde eclipse.


Tuve este problema para las dependencias que se crearon en otros proyectos. Las dependencias de terceros descargadas aparecieron bien en la ruta de compilación, pero no en una biblioteca que había creado.

SOLUTION: en el proyecto que no está construyendo correctamente,

  • Haga clic derecho en el proyecto y elija Propiedades, y luego Maven.

  • Desmarque la casilla " Resolver dependencias de los proyectos del área de trabajo "

  • Presione Aplicar, y luego OK.

  • Haz clic derecho en tu proyecto y haz una Maven-> Update Snapshots (o Update Dependencies)

Y sus errores deberían desaparecer cuando su proyecto se reconstruya (automáticamente si tiene auto-build habilitada).


Tuve un problema similar e intenté todas las respuestas en esta publicación. Lo más cerca que había llegado a resolver este problema fue mediante la combinación de las soluciones Joseph Lust y Paul Crease. Agregué el archivo pom.xml respaldado después de eliminar y volver a importar el proyecto, y no apareció nada hasta que eliminé la etiqueta de administración de dependencias en el pom.xml y mágicamente la carpeta de dependencias estaba allí.

Sin embargo, rompió los POM secundarios ya que necesitan la administración de dependencia padre pom.xml para funcionar, y como resultado mi MVN no funcionaba correctamente en el proyecto desde Eclipse o la línea de comandos, dando un error pom.xml roto.

La última solución si falla, es importar manualmente los archivos .jar que necesita su proyecto. Haga clic derecho en las propiedades del proyecto -> Ruta de compilación de Java -> Bibliotecas y Agregar jar externo.

Si su MVN funciona correctamente desde la línea de comandos y ha realizado una compilación exitosa en el proyecto, tendrá todos los repos necesarios en su carpeta .m2 / repository. Agregue todos los archivos jar externos mencionados en su etiqueta de dependencias de pom.xml y verá una sección de biblioteca referenciada en su Eclipse, con todos los molestos errores rojos desaparecidos.

Esta no es la solución óptima, pero le permitirá trabajar en Eclipse sin errores de dependencias perdidas, y también le permitirá construir el proyecto Maven desde Eclipse y la línea de comandos.


Tuve un problema similar. Lo resolví ejecutando la acción Maven-> Update Project Configuration


actualizar el .classpath a continuación funcionará todo el tiempo.

<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" output="target/classes" path="src/main/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry kind="src" output="target/test-classes" path="src/test/java"> <attributes> <attribute name="optional" value="true"/> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry excluding="WEB-INF/" kind="src" path="src/main/webapp"/> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="target/classes"/> </classpath>



mvn eclipse:clean

luego del eclipse: "Maven Update Project" hace el truco!