¿Cómo agrego una dependencia Maven en Eclipse?

128

No sé cómo usar Maven en absoluto. He estado desarrollando durante un par de años con Eclipse y aún no he necesitado saberlo. Sin embargo, ahora estoy viendo algunos documentos que sugieren que haga lo siguiente:

"Para incluirlo en su proyecto, simplemente agregue esta dependencia de Maven a su compilación".

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

¿Cómo hago esto con mi proyecto Eclipse?

Supongamos que no sé nada de Maven. Me acabo de dar cuenta de que podría estar instalado en mi computadora escribiendo mvnen la línea de comando, pero eso es lo que sé . Me encantaría seguir sin saber nada sobre Maven si hay una forma equivalente, no Maven, de seguir estas instrucciones con Eclipse.

Riley Lark
fuente
2
¿Ha leído la Guía de inicio de Maven: maven.apache.org/guides/getting-started/index.html
Dan W
44
El equivalente no Maven: busque todas las bibliotecas que necesite y agréguelas a la ruta de compilación de su proyecto (directorio lib). "Todas las bibliotecas que necesita" = resteasy-jackson-provider-1.1.GA.jar (2.3.0 es la versión actual ...) más todas las dependencias. "Todas las dependencias" es lo que Maven hace por usted (en esta situación). Al buscarlo son jackson-core-asl, jackson-mapper-asl, jackson-jaxrs, jackson-xc. Aprende un poco de Maven, vale la pena el tiempo.
Hauke ​​Ingmar Schmidt
Encontrará más información sobre Maven en la guía Maven: The Complete Reference , y también debería considerar instalar el complemento Eclipse M2E (anteriormente conocido como m2eclipse).
matsev

Respuestas:

204
  1. En la barra de menú superior, abra Ventana -> Mostrar vista -> Otro
  2. En la ventana Mostrar vista, abra Maven -> Repositorios Maven

    Mostrar vista: repositorios Maven

  3. En la ventana que aparece, haga clic con el botón derecho en Repositorios globales y seleccione Ir a

  4. Haga clic derecho en " central ( http://repo.maven.apache.org/maven2 ) " y seleccione " Reconstruir índice "

    • Tenga en cuenta que tomará un tiempo completar la descarga
  5. Una vez que se complete la indexación, haga clic con el botón derecho en el proyecto -> Maven -> Agregar dependencia y comience a escribir el nombre del proyecto que desea importar (como "hibernar").

    • Los resultados de la búsqueda se completarán automáticamente en el cuadro "Resultados de la búsqueda" a continuación.
Oded Breiner
fuente
156
La leyenda lo tiene, todavía está reconstruyendo el Índice.
25
Un consejo: Eclipse (al menos la última versión a partir de mayo de 2016) se bloquea de manera completa mientras se reconstruye el índice central del repositorio Maven. Y el estado ha estado atascado en "0%" durante cinco minutos. No hagas ningún plan.
Saustrup
77
Maldición, extraño<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
Mark K Cowan
12
Fui lo suficientemente tonto como para intentar abrir la carpeta central ... no hagas eso ...
No me encantó el
15
Nota: Si este no fuera un proyecto Maven. Antes del paso 5, debe hacer clic con el botón derecho en proyecto -> configurar -> convertir a proyecto Maven. Entonces el paso 5 funcionará.
cliff2310
26

De hecho, cuando abra el pom.xml, debería ver 5 pestañas en la parte inferior. Haga clic en pom.xml y puede escribir las dependencias que desee.

ingrese la descripción de la imagen aquí

DoraShine
fuente
me ayudó a lo grande. no noté las 5 pestañas antes
M. Smith
2
Eclipse todavía no reconoce las dependencias de mi pom.xml en mi código. Cuando uso IntelliJ, los descarga automáticamente y los configura para completar el código, ¿no hace eclipse esto?
Cas Eliëns
Si ya conoce los detalles de su dependencia (identificación de grupo, identificación de artefacto, versión), entonces esto es mucho más rápido que descargar Internet solo para incluirlo my-favorite-library.jaren su proyecto.
Christopher Schultz
10

Debe utilizar un complemento Maven para Eclipse para hacerlo correctamente. El complemento m2e está integrado en la última versión de Eclipse, y hace un trabajo decente, si no perfecto, de integrar Maven en el IDE. Querrás crear tu proyecto como un 'Proyecto Maven'. Alternativamente, puede importar un Maven POM existente en su espacio de trabajo para crear proyectos automáticamente. Una vez que tenga su proyecto Maven en el IDE, simplemente abra el POM y agregue su dependencia.

Ahora, si no tiene un complemento Maven para Eclipse, necesitará obtener los jar (s) para la dependencia en cuestión y agregarlos manualmente como referencias de classpath a su proyecto. Esto podría ser desagradable, ya que no solo necesitará el JAR de nivel superior, sino también todas sus dependencias.

Básicamente, te recomiendo que obtengas un complemento Maven decente para Eclipse y dejes que maneje la gestión de dependencias por ti.

Percepción
fuente
2
Gracias por la respuesta. Ya tengo un proyecto con 1000 archivos, ¿hay alguna forma de agregar compatibilidad con Maven, en lugar de comenzar desde cero? Tengo la última versión de Eclipse
Riley Lark
3
Con la última versión de Eclipse y m2e, puede hacer clic con el botón derecho en un proyecto Java normal y habilitar la Gestión de dependencias. Esto generará un pom.xml para el proyecto, dejando su estructura intacta.
Percepción
7

Abra el archivo pom.xml.

debajo de la projectetiqueta agregue <dependencies>como otra etiqueta, y google para las dependencias de Maven. Usé esto para buscar.

Entonces, después de obtener la dependencia, cree otra etiqueta dependencydentro de la <dependencies>etiqueta.

Entonces, en última instancia, se verá algo así.

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

Espero eso ayude.

driftking9987
fuente
2

Me he enfrentado a un problema similar y lo solucioné copiando los archivos Jar que faltan en .M2 Path,

Por ejemplo: si ve el mensaje de error como Missing artifact tws:axis-client:jar:8.7entonces, debe descargar el archivo "axis-client-8.7.jar" y pegarlo en la ubicación siguiente para resolver el problema.

C: \ Usuarios \ Nombre de usuarioXXX.m2 \ repositorio \ tws \ axis-client \ 8.7 (Pegar axis-client-8.7.jar).

finalmente, haga clic derecho en proyecto-> Maven-> Actualizar proyecto ... Eso es todo.

feliz codificación

NARAYANASAMY VELUSAMY
fuente
¡Gracias! Este no era mi problema específico, pero me ayudó a resolverlo. En mi caso, mi jarra estaba en la ubicación correcta pero el camino estaba ligeramente equivocado.
Captain Fantastic
-1

Me he enfrentado al mismo problema con las dependencias de Maven, por ejemplo: desafortunadamente sus dependencias de Maven eliminadas de su buildpath, entonces su gente recibe muchas excepciones, si sigue el proceso a continuación, puede resolver fácilmente este problema.

 Haga clic derecho en proyecto >> maven >> updateProject >> selectProject >> OK

Vinay K
fuente