Maven: Comando para actualizar el repositorio después de agregar dependencia a POM

256

He agregado una nueva dependencia a mi POM.

¿Hay un comando simple que pueda ejecutar para descargar esta dependencia a mi repositorio?

JJ180
fuente
Para aquellos que buscan cómo hacer esto en un proyecto Spring Boot: úselo mvnwpara llamar a la capa de envoltura. Los comandos en esta página funcionan con ella.
G_V

Respuestas:

178

mvn install(o mvn package) siempre funcionará.

Puede usar mvn compilepara descargar dependencias de tiempo de compilación o mvn testpara dependencias de tiempo de compilación y prueba, pero prefiero algo que siempre funcione.

Aaron Digulla
fuente
2
Gracias, también descubrí que agregarlo al pom en STS lo descargará automáticamente para usted.
JJ180
15
La respuesta de @Andrew Spencer es más precisa: mvn dependency:xxxlidie solo con las dependencias y no haga nada adicional, y de eso se trataba la pregunta.
botchniaque
A veces, el 'paquete mvn' puede no actualizar las dependencias. Me ha sucedido más de una vez. Uno necesita ejecutar 'dependencia mvn: resolver' en tales casos
Binita Bharati
1
@BinitaBharati, puede agregar una -U a la línea de comandos de Maven para forzar las descargas de dependencia. Esto es útil si Maven no descarga una dependencia actualizada debido a un tiempo de espera de caché.
BamaPookie
1
@Kishan Haz una nueva pregunta. Muestre el diseño de su proyecto (especialmente donde importsucede) y si usa una compilación de múltiples módulos.
Aaron Digulla
611

Si solo desea descargar dependencias sin hacer nada más, entonces es:

mvn dependency:resolve

O para descargar una sola dependencia:

mvn dependency:get -Dartifact=groupId:artifactId:version

Si necesita descargar desde un repositorio específico, puede especificarlo con -DrepoUrl=...

Andrew Spencer
fuente
2
Recibo este error cuando ejecuto ese comando: [ERROR] Error al ejecutar el objetivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get (default-cli) en el proyecto standalone-pom: los parámetros 'repositoryUrl' para el objetivo org.apache.maven.plugins: maven-dependency-plugin: 2.1: get faltan o no son válidos -> [Ayuda 1]. Especificar -DrepositoryUrl = ... no funciona.
Chry Cheng
1
Creo que he encontrado la solución. El parámetro debe ser "repoUrl" y no "repositoryUrl".
Chry Cheng
No me solucionó el problema: el que ejecuté mvn package -ojusto después, recibo el error de que los complementos no se pueden descargar. Correr mvn dependency:resolve-pluginstampoco resuelve completamente el problema.
Innokenty
Las URL de su repositorio pueden faltar / estar mal. En cualquier caso, no creo que esta respuesta sea la respuesta al problema que tienes. Esta respuesta cubre el caso cuando Maven puede encontrar todos los artefactos que necesita en los repositorios configurados.
Andrew Spencer
No me importa si eres creyente o no, cristiano o no ... Dios te bendiga con esta increíble respuesta simple.
Salathiel Genèse
12

Sé que ahora es una pregunta antigua, pero para los usuarios que usan Mavenplugins con Eclipse under Windows, tienen dos opciones:

  1. Si instaló Maven como una aplicación independiente:

    Puede usar el siguiente comando en la CMDruta debajo de su proyecto:

    mvn eclipse:eclipse

    Actualizará su repositorio con todos los frascos faltantes, de acuerdo con sus dependencias en su pom.xmlarchivo.

  2. Si no ha instalado Maven como una aplicación independiente, puede seguir estos pasos en su eclipse:

    Haga clic derecho en project-> Run As-> Run configurations.

    Luego seleccione mavenBuild.

    Luego haga clic en el newbotón para crear una configuración del tipo seleccionado. Haga clic en Examinar espacio de trabajo, luego seleccione su proyecto y en los objetivos especifiqueeclipse:eclipse

Puede consultar cómo ejecutar el comando mvn eclipse: eclipse para obtener más detalles.

cнŝdk
fuente
3
Ejecutar eclipse: eclipse después de dependencia: resolver me ayudó a ver los frascos descargados en eclipse, ¡gracias!
Anatoly Yakimchuk
2
Si bien esta respuesta ayudará a la gente pobre a quedarse con Eclipse, recomiendo encarecidamente que cualquiera que use Eclipse encuentre una mejor alternativa. Especialmente si vas a usar Maven. Netbeans e IntelliJ están a años luz por delante.
64BitBob
@ 64BitBob Suponiendo que Netbeans e IntelliJ son mejores que eclipse, siempre debemos dar una solución para quienes lo usan. :)
cнŝdk
Veo que el complemento ya no está disponible en el mercado, pero sí, funciona en Eclipse 2020 sin descargar nada. Me pregunto si mvn eclipse: eclipse es el comando enviado por eclipse cuando hacemos clic derecho-> Maven-> Actualizar proyecto ...
Paolo
@Paolo En mi opinión, han agregado automáticamente el complemento en nuevas versiones de Eclipse, y sí, creo que es el mismo comando detrás de la opción "Actualizar proyecto".
cнŝdk
1

Preste atención al alcance de su dependencia. Estaba teniendo el problema de que cuando invoco una compilación limpia a través de Intellij, el pom se descargaba, pero el jar no. Se creó un archivo xxx.jar.lastUpdated. Luego me di cuenta de que el alcance de la dependencia era de prueba, pero estaba activando la compilación. Eliminé los repositorios, activé la prueba mvn y el problema se resolvió.

Puntero nulo
fuente
-4

Derecha, haga clic en el proyecto. Vaya a Maven -> Actualizar proyecto.

Las dependencias se instalarán automáticamente.

Ashish Pandey
fuente
Así es como hacerlo en Eclipse.
user1364368
a veces, y es eventual, esto no funciona, algunos comandos como mvn package, install, dependency: resolver puede resolver su problema
Sham Fiorin