2011-02-01 19 views
57

He creado un proyecto Maven y quiero agregar todas las dependencias Maven en la ruta de compilación del proyecto en Eclipse. Cuando voy a Java Build Path> Add Library> Maven Managed Dependency> Next en el cuadro de diálogo de propiedades del proyecto, me pide que use "Maven Project Setting" para configurar la resolución de dependencia de Maven.¿Cómo agregar la biblioteca "Dependencias gestionadas por Maven" en el eclipse de ruta de compilación?

Mi pregunta es cómo agregar las dependencias maven en la ruta de compilación actual?

Respuesta

46

del tipo de línea de comandos:

mvn eclipse:eclipse 

esto agregará todas las dependencias que tiene en su pom.xml en Eclipse ...

Sin embargo, si usted no ha hecho nada de esto antes, puede necesitar hacer otro paso, solo una vez.

Primer eclipse, a continuación, ejecute el siguiente comando desde el shell:

mvn -Declipse.workspace=<eclipse workspace> eclipse:add-maven-repo 

muestra:

mvn -Declipse.workspace=/home/ft/workspaces/wksp1/ eclipse:add-maven-repo 
+8

[eclipse: add-maven-repo] (http://maven.apache.org/plugins/maven-eclipse-plugin/add-maven-repo-mojo.html) ha quedado obsoleto a favor de [ eclipse: configure-workspace] (http://maven.apache.org/plugins/maven-eclipse-plugin/configure-workspace-mojo.html) – msrxthr

+26

Es posible que tenga que hacer: "hacer clic derecho en el proyecto> Maven> Actualizar proyecto "para habilitar las dependencias maven ... funcionó para mí, ver http://stackoverflow.com/questions/2037188/how-to-configure-eclipse-build-path-to-use-maven-dependencies –

+0

@AdrienBe a mí también me funcionó –

6

Puede instalar M2Eclipse y abra el proyecto como un proyecto Maven en Eclipse. Creará la configuración y las entradas necesarias.

Esto también es útil para actualizaciones posteriores al pom. Con el plugin Maven Eclipse, necesitarás regenerar manualmente la configuración del eclipse para cada cambio.

+0

el enlace no funciona. – vaibhavcool20

+0

http://www.eclipse.org/m2e/ – FaithReaper

0

Si usa un plugin de eclipse para hacer sus tareas de maven (hay 2 de ellos: M2ecipse de sonatype el 'oficial' y q4e en Google Code), hay opciones en los menús contextuales (haga clic derecho en el proyecto) para hacer eso sin dolor.

Puede tener ambos complementos ejecutándose al mismo tiempo en su banco de trabajo de eclipse y usarlos indistintamente por proyecto.

2

Pude resolver el problema. Estaba recibiendo una advertencia después del inicio del eclipse.

The Maven Integration requires that Eclipse be running in a JDK, because a number of Maven core plugins are using jars from the JDk. 

Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that 
Installed JRE's are also using JDK installs 

me cambió archivo eclipse.ini y ha añadido siguiente y reinicia eclipsar

-vm 
C:/Program Files/java/jdk1.6.0_21/bin/javaw.exe 

ahora puedo ver la biblioteca "Maven dependencia" incluye automáticamente en Java Build Path.

11

Tengo el mismo problema al utilizar SpringSource Tool Suite. Estaba importando un proyecto Maven existente que funcionaba bien desde la línea de comandos. Sin embargo, cuando importé el proyecto utilizando import -> Maven -> proyecto Maven existente, el proyecto no importó correctamente la importación y no pude agregar la biblioteca de dependencias administradas maven a la ruta de compilación.

Si ejecuté mvn install desde la línea de comandos, el proyecto se creó correctamente. Si ejecutaba mvn eclipse: eclipse y luego lo importaba a STS, todo funcionaba como se esperaba, excepto por supuesto que tendría que volver a ejecutar esto cada vez que actualizaba el pom, lo cual era indeseable.

Trabajé alrededor de él ejecutando mvn eclipse:eclipse y luego actualizando manualmente.ruta de clase para eliminar las dependencias M2_REPO agregadas por eclipse:eclipse y añadiendo la entrada de dependencia m2eclipse:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> 
    <attributes> 
    <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
    </attributes> 
</classpathentry> 

Entonces me importaron proyecto Maven existente y funcionó como se esperaba.

Esto es un truco y no estoy seguro de qué otras consecuencias al ejecutar eclipse:ecplise tiene al trabajar con m2eclipse. Pero al menos me permitió obtener mi proyecto compilando para poder llegar a la codificación.


EDITAR 1/4/2013

La solución que he publicado anteriormente funcionará temporalmente, y nunca he descubierto ningún efecto secundario negativo. Sin embargo, he tenido este problema varias veces y cada vez el problema es que hay alguna sección del pom que maven acepta pero m2eclipse barfs.

Así que recomiendo eliminar partes del pom 1 por 1 hasta que pueda mavenizar el proyecto con éxito. Simplemente siga maven -> actualice la configuración después de cada edición de pom hasta que funcione como debería. Normalmente empiezo eliminando los bloques de etiquetas de configuración del complemento de a uno por vez, comenzando por el más sospechoso (es decir, el más complicado).

Una vez que se mavenice correctamente, puede revertir el pom y todavía debería funcionar como se esperaba.

Después de ejecutar, busco la (s) configuración (es) infractora (s) para tratar de averiguar cuál es la solución 'adecuada' (de acuerdo con m2eclipse, de todos modos).

¡Esperamos que este enfoque conduzca a la solución permanente en lugar de conformarse con una solución hacky!

+0

La causa principal de mi problema terminó siendo un problema en el pom relacionado con el compilador de Java. Así que me imaginé que reiteraría que la solución anterior es solo una solución hasta que se descubra y solucione la causa raíz. Una vez que arreglé el pom, la importación de m2e en STS funcionó como se esperaba. – Marquee

+0

y en el medio de 2016 todavía tengo que agregar esa entrada a .classpath manualmente (STS 3.8.1) ..... – razor

0

Pruebe: Haga clic derecho en su proyecto-> Maven-> Desactivar gestión de dependencias. Y vuelva a habilitar la administración de dependencias.

30

Si tiene m2e instalado y el proyecto ya es un proyecto Maven, pero las dependencias de Maven todavía se echa en falta, la manera más fácil que trabajó para mí era

  • Haga clic derecho en el proyecto,
  • Maven,
  • Proyecto de actualización ...

Eclipse screenshot

+0

Defectos de Maven eliminados accidentalmente de mi ruta de compilación en lugar de mi ensamblaje de implementación y no pude recuperarlos .Esto me salvó una hora y un dolor de cabeza! – Paul

+0

Funcionó para mí como un encanto – minhas23

+3

no funciona, y si agrego Dependencias administradas de Maven (agregue Biblioteca en Java Build Path-> Bibliotecas), nada sucede ..... – razor

2

Si Maven-> Update Project no funciona para usted? Estos son los pasos que sigo religiosamente. Eliminar el proyecto de eclipse (no lo elimine del área de trabajo) Cerrar Eclipse vaya a la línea de comandos y ejecute estos comandos.

mvn eclipse:clean 
mvn eclipse:eclipse -Dwtpversion=2.0 

abierto Eclipse proyecto Maven existente importación. Verá la dependencia de maven en nuestro proyecto.

Espero que esto funcione.

9

Asegúrese de que su estrategia de empaquetado definida en su pom.xml no sea "pom". Debe ser "jar" o cualquier otra cosa.Una vez hecho esto, actualice su derecha proyecto haciendo clic en él e ir a Maven -> Actualización del Proyecto ...

+0

Esa es la pista, funciona para mi. ¡Gracias! – Hardie82

+0

¡Esto también funcionó para mí! –

0

Usted podría también considerar a maven-dependencia-plugin para su pom:

<plugins> 
... 
    <plugin> 
     <artifactId>maven-dependency-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>process-resources</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}/lib</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
    </plugin> 
... 
</plugins> 

De lo que puede ejecutar "paquete mvn" y maven copiará todas las dependencias necesarias en su directorio_proyecto_destino/su_nombre_proyecto/WEB-INF/lib /. Desde allí, puede copiarlos en su proyecto/lib dir y agregarlos como archivos jar externos (configurando el buildpath de sus proyectos)

6
  • Instalar el complemento M2E.
  • Haga clic derecho en su proyecto y seleccione Configurar -> Convertir a proyecto Maven.

enter image description here

  • A continuación, un archivo pom.xml se mostrarán en su proyecto. Haga doble clic en pom.xml, seleccione la pestaña Dependencia para agregar los archivos de los que depende su proyecto.
Cuestiones relacionadas