En Eclipse m2e, ¿cómo hacer referencia al proyecto workspace?


¿Cómo puedo hacer referencia a otro proyecto de workspace usando Eclipse m2e?

¿Tengo que añadir una dependencia del proyecto en la configuración del proyecto? Pero en ese caso la dependencia no se muestra en el pom.

Si los establezco en el pom, no hará referencia al proyecto en workspace sino al jar en el repositorio local. Bastante molesto, alguien puede ayudar?

Author: nwinkler, 2012-05-21

4 answers

La forma correcta de hacer esto es la siguiente:

  • Use la sección dependencias en el archivo POM exclusivamente, no juegue con las referencias del proyecto Eclipse. Haga clic con el botón derecho en el proyecto y, a continuación, seleccione Maven > Actualizar configuración del proyecto para restablecer el proyecto a la configuración predeterminada de Maven. De esta manera, m2e tiene la propiedad de las dependencias.
  • Asegúrese de que todos los proyectos referenciados estén abiertos en Eclipse y tengan habilitado Maven nature.
  • Comprobar la configuración de Maven para cada proyecto, asegúrese de que groupId, artifactId y version coinciden con los proyectos que tienes abiertos en Eclipse. Por lo tanto, si el proyecto del que depende tiene la versión 1.0.0-SNAPSHOT en Eclipse, asegúrese de que el archivo POM del proyecto depende de la versión 1.0.0-SNAPSHOT en la sección dependencies.
  • Habilita La resolución del espacio de trabajo para cada uno de los proyectos. Haga clic derecho en el proyecto, luego Maven > Habilite la resolución del espacio de trabajo .
  • Finalmente, si los proyectos aún no están resueltos, haga clic con el botón derecho en el proyecto nuevamente, luego Maven > Actualizar proyecto

Esto debería resolver su problema. Si después de esto, sus dependencias siguen siendo referenciadas desde el sistema de archivos, compruebe el groupId, artifactId y especialmente versión de cada dependencia de nuevo.

También compruebe si no tiene ningún error en su proyecto - intente ejecutar Maven install.

 54
Author: nwinkler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-16 12:48:55

Iría incluso más lejos que esto. Si has alguna vez ejecutado mvn eclipse:eclipse en tu proyecto, probablemente estés en problemas. Tuve una situación en la que tenía una sección "Referenced Libraries" y una sección "Maven Dependencies" en mi proyecto eclipse, con versiones de bibliotecas en conflicto, causando una confusión inevitable entre eclipse y yo.

Lo más seguro que encontré fue ejecutar mvn eclipse:clean desde la línea de comandos y luego volver a eclipse, actualizar el proyecto, " OK " el resultado diálogo del problema, y luego ir Maven > Actualizar proyecto. Esto lo arregló todo para mí.

 5
Author: Huw Roberts,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-18 12:48:59

Cuando eclipse está en mal estado con la importación y eliminación de varios proyectos, es posible que deba reconstruir el índice de repositorios maven. He aquí una manera que he hecho.

  1. Compruebe si un proyecto referenciado es reconocido como un proyecto maven por eclipse correctamente.

    En la barra de menú, haga clic en Window -> Show View -> Other...
    Cuando aparezca la ventana' Mostrar vista', seleccione Maven -> Maven Repositories
    En la ventana de repositorios Maven, debería ver su proyecto como archivo jar en Local Repositories -> Workspace Projects
    Si no puede encontrar su proyecto en Workspace Projects, haga clic derecho en Workspace Projects y seleccione Rebuild Index.

  2. Actualizar maven de un proyecto de referencia

    Haga clic derecho en el proyecto de referencia, Maven -> Update Project... -> OK

 4
Author: heemin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-21 00:51:11

También debe asegurarse de que está ejecutando los objetivos correctos.

Si no ejecuta el objetivo install entonces no se copiará a su repositorio y no se compilará.

Para obtener más información sobre los objetivos, eche un vistazo a https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

 0
Author: Clare McLennan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-03 04:31:25