java - que - maven tutorial español
¿Cómo configurar la ruta de compilación de Eclipse para usar las dependencias de Maven? (18)
Me gustaría aprovechar las características que Maven proporciona para administrar dependencias en un proyecto. Mi breve comprensión de cómo funciona Maven es que obtendrá los JAR necesarios y luego construirá el proyecto con estas bibliotecas.
Actualmente tengo configurado un archivo POM simple como prueba:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jamesgoodwin.test</groupId>
<artifactId>com.jamesgoodwin.test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
</build>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.0.RELEASE</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Por lo general, cuando gestiono las dependencias de un proyecto, agrego el proyecto o JAR a la ruta de compilación del proyecto y luego puedo construir mi proyecto.
Pero al usar M2Eclipse, las dependencias no se agregan automáticamente a la ruta de compilación. ¿Hay algún lugar donde necesite configurar esto para permitir que Eclipse sepa que Maven está administrando las dependencias?
Agregando mis respuestas por un par de razones:
- De alguna manera, ninguna de las respuestas enumeradas directamente resolvió mi problema.
- No pude encontrar "Habilitar la administración de dependencias" en Maven. Estoy usando Eclipse 4.4.2 build en Wed, 4 de febrero de 2015.
Lo que me ayudó fue otra opción de Maven llamada "Actualizar proyecto" y luego, cuando hago clic en ella, se abre esta ventana que tiene una casilla de verificación que dice "Forzar actualización de instantáneas / versiones". El verdadero propósito de esta casilla de verificación es diferente, lo sé, pero de alguna manera resolvió el problema de las dependencias.
Agregue esto al archivo .classpath ..
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
Gracias
Asegúrese de que su POM sigue la convención de nomenclatura, y se nombra en letras minúsculas como pom.xml
y NOT POM.xml
.
En mi caso, todo estaba bien, pero Eclipse todavía se quejaba cuando intentaba hacer clic con el botón derecho y Update project configuration
; me dijo que el POM no se podía leer. Cambió el nombre a minúsculas - pom.xml
de POM.xml
- y funcionó.
Conocí este problema también. Cuando agrego dependencias en pom.xml
, compruebo en la carpeta local /Users/xyz/.m2/
y los /Users/xyz/.m2/
ya están descargados allí, pero no puedo agregar el buildpath del eclipse.
Versión de mi eclipse: Lanzamiento de Mars.2 (4.5.2)
haz clic derecho en el proyecto > Maven > Habilitar la resolución del área de trabajo
Y esto resolvió mi problema.
Cuando m2eclipse está instalado correctamente, debe agregar dependencias automáticamente. Sin embargo, debe generar los archivos del proyecto del eclipse ingresando:
mvn eclipse:m2eclipse
o, como alternativa, si no usa m2eclipse:
mvn eclipse:eclipse
En Eclipse (Marte) vaya a:
Propiedades del proyecto -> Maven. Asegúrese de que "Resolver dependencias de los proyectos del área de trabajo" esté deshabilitado .
Esto funcionó para mí en Eclipse Oxygen (4.7.0):
Haga clic derecho en Proyecto -> Maven -> Seleccionar perfiles Maven ... luego marque la casilla Proxy de repositorio, presione OK.
Haga clic derecho en el proyecto Configurar> convertir a proyecto Maven
Entonces puedes ver todo el menú relacionado con Maven para tu proyecto.
Me gustó esto ...
Haga clic derecho en el proyecto -> configurar -> convertir a proyecto maven. Haga clic derecho en el proyecto -> maven -> agregar dependencias.
Nada de eso resolvió mi problema. pero lo que hice fue hacer clic en el pom.xml, hay una pestaña en la parte inferior llamada dependencias. en esta pestaña se divide en 2 secciones, una llamada dependencias y otra llamada administración de dependencias. seleccione todo en la sección de dependencia y haga clic en Agregar para estar bajo el control de administración de dependencias. cierra y vuelve a abrir tu proyecto.
No encontré el administrador ni configuré los menús pero encontré el siguiente botón que resolvió mi problema:
Para las versiones más nuevas de Eclipse (> = Mars), haga clic derecho en project> configure> convert to Maven project
Por lo general, puede copiar el archivo .classpath de un proyecto en funcionamiento, ya que no hay nada específico para el proyecto aquí suponiendo que esté estructurado como un proyecto estándar de Maven.
Si hace clic con el botón derecho en su proyecto, debe haber una opción debajo de "maven" para "habilitar la administración de dependencias". Eso es.
Supongo que está usando m2eclipse como lo mencionó. Sin embargo, no está claro si creó su proyecto en Eclipse o no, así que trataré de cubrir todos los casos.
Si creó un proyecto "Java" en Eclipse (Ctrl + N> Proyecto Java), haga clic derecho en el proyecto en la vista Explorador de paquetes y vaya a Maven> Activar gestión de dependencias (dependiendo de la estructura inicial del proyecto, puede modificar para que coincida con el de Maven, por ejemplo, agregando
src/java
a las carpetas de origen en la ruta de compilación).Si creó un "Proyecto Maven" en Eclipse (Ctrl + N> Proyecto Maven), entonces ya debería estar "Preparado para Maven".
Si creó un proyecto Maven fuera de Eclipse (manualmente o con un arquetipo), simplemente impórtelo en Eclipse ( haga clic con el botón secundario en la vista Explorador de paquetes y seleccione Importar ...> Proyectos Maven ) y estará "Preparado para Maven".
Ahora, para agregar una dependencia, haga clic con el botón derecho en el proyecto y seleccione Maven> Agregar dependencia ) o edite el pom manualmente.
PD: evita usar el maven-eclipse-plugin si estás utilizando m2eclipse. No hay absolutamente ninguna necesidad de eso, será confuso, generará algún desorden. No, realmente, no lo uses a menos que realmente sepas lo que estás haciendo.
Tal vez podrías mirar maven-eclipse-plugin lugar de M2Eclipse.
Ahí, básicamente, agrega la configuración maven-eclipse-plugin a su pom.xml y luego ejecuta mvn eclipse:eclipse
que generará los .project
requeridos .project
y .classpath
para Eclipse. Entonces tendrás la ruta de compilación correcta en Eclipse.
Tuve una ligera variación que causó algunos problemas: múltiples subproyectos dentro de un proyecto. En este caso, tenía que ir a cada carpeta individual que contenía un POM, ejecutar el comando mvn eclipse: eclipse y luego copiar / fusionar manualmente las entradas de classpath en mi archivo classpath de proyecto.
si ejecuta
mvn eclipse:clean
seguido por
mvn eclipse:eclipse
si preparará el archivo eclipse .classpath
para usted. Es decir, estos comandos se ejecutan contra maven desde la línea de comandos, es decir, fuera del eclipse.