Fuerza a Intellij IDEA a releer todas las dependencias de Maven

297

¿Cómo forzar intellij idea para releer / actualizar todas las dependencias especificadas en el archivo pom?

kubek2k
fuente

Respuestas:

354

Presione Ctrl+ Shift+ Apara buscar acciones, e ingrese "reimportar", encontrará el "Reimportar todos los proyectos Maven".

En una Mac, use + + en su Alugar.

Jacky
fuente
1
Digamos que tengo 5 módulos, todos ellos basados ​​en Maven, en un solo proyecto y hago esto. ¿Este comando se aplica a todos los módulos, solo el seleccionado o el primero en el proyecto cuando se ejecuta?
slartibartfast
ha cambiado esto? No veo una reimportación en 2017.1 en Maven
Winnemucca
1
@ Winnemucca Lo acabo de hacer en 2017.2. Esperando a que termine ahora.
mrClean
1
Tuve que habilitar el complemento Maven para hacer esto.
codefreak
1
@ Winnemucca puedes hacer clic derecho en el pom, ir a Maven en el menú desplegable y elegir Reimportar.
jones-chris
125

Abra la pestaña / ventana "Proyectos Maven" y haga clic en "Reimportar todos los proyectos Maven" en la esquina superior izquierda para volver a cargar todas las dependencias de sus repositorios. La barra de estado informa sobre el proceso.

¿Qué te permite pensar que esto no funciona correctamente? ¿Quizás alguna de las dependencias no se puede cargar desde el repositorio?

magomi
fuente
1
Tenemos el hábito roto de usar una versión no instantánea para el desarrollo continuo, y las dependencias entre proyectos a veces fallan.
kubek2k
1
Me temo que este problema depende de Maven. Maven solo busca actualizaciones en SNAPSHOT. Por definición, las versiones que no son SNAPSHOT nunca cambiarán para que maven no tenga que buscar versiones más nuevas que esta en el repositorio local. Una solución (bastante grosera) sería eliminar la biblioteca del repositorio local antes de invocar a maven. Luego tiene que volver a cargar la biblioteca.
magomi
99
parece que el reimportar todas las fuerzas de la bandera -U lo que quería :)
kubek2k
Estaba haciendo clic derecho en el proyecto principal y haciendo Maven -> Reimportar y esperaba que actualizara las dependencias de todos los hijos, pero no fue así. Gracias por la solucion!
Botchniaque
66
Para encontrar la pestaña / ventana "Proyectos Maven" vaya a Ver> Ventanas de herramientas> Proyectos Maven
Kevin Wheeler
64

También hay una configuración útil que le dice a IntelliJ que busque nuevas versiones de dependencias, incluso si los números de versión no cambiaron. Teníamos un repositorio local de Maven y un proyecto de instantánea que se actualizó varias veces, pero los números de versión se mantuvieron igual. El problema fue que IntelliJ / Maven no actualizó este proyecto debido al número de versión fijo.

Para habilitar la comprobación de una dependencia modificada, aunque el número de versión no cambió, vaya a la pestaña "Proyectos de Maven", seleccione "Configuración de Maven" y active "Actualizar instantáneas siempre".

Björn Jacobs
fuente
2
¡decir ah! actualizaciones automáticas en un proyecto JAVA ... Voy a tener que decir que este NO siempre es un ganador ... e incluso puede estar mal visto con Maven 3+
beauXjames
@beauXjames ... esto no funcionó para mí, pero estoy enfrentando exactamente el mismo problema. Cómo resolver esto.
Sábado
1
A menudo voy al directorio local de repositorios ({usuario} \. M2 \ ...) y elimino los que sé que están asociados con mi proyecto, luego dejo que el proceso de instalación salga y los recupere desde cero para que no haya conflictos de versiones
beauXjames
De help: "Seleccione esta casilla de verificación, si desea que IntelliJ IDEA actualice las instantáneas en sincronización". En otras palabras, no es completamente automático: debe hacerlo Synchronize(en el menú del botón derecho o Ctrl-Alt-Y), pero habilitar esta opción hace que tome SNAPSHOTversiones actualizadas . ADVERTENCIA: Puede haber otras sutilezas involucradas, como Import Changes: esto no parece ser perfectamente reproducible para mí hasta ahora. Tal vez todo estaba en mi imaginación: lo que siempre parece funcionar es completo, reimportcomo se sugiere en otras respuestas.
nobar
36

Para IntelliJ IDEA 14.0

Proyecto> [nombre del proyecto]> clic derecho> Maven> Reimportar

teejay
fuente
17

Si la reimportación no funciona (es decir, no elimina las versiones antiguas de dependencias después de una actualización de pom), hay una posibilidad más:

  • abra la configuración del proyecto (CTRL + MAYÚS + ALT + S)
  • en los módulos, elimine todas las bibliotecas que desea volver a importar (por ejemplo, duplicados)
  • IDEA advertirá que algunos todavía se usan, confirme
  • Aplicar y seleccionar Aceptar
  • luego vuelva a importar todos los proyectos de Maven.
Andreas Dolk
fuente
16

El botón de la izquierda (ciclo azul) a continuación también vuelve a importar todos los proyectos de Maven:

ingrese la descripción de la imagen aquí

Umut Uzun
fuente
9

ejecuta este comando mvn -U clean install

Babajide Apata
fuente
3
Si bien esta es una solución, debe hacerse desde la CLI. La pregunta es sobre hacerlo desde adentro de IDEA.
talonx
en el IDE, puede ejecutar un objetivo experto y usar el comando anterior sin abrir su CLI o Terminal
Babajide Apata
2
Ese tipo de derrotas el propósito de tener la integración de Maven en IDEA.
talonx
1
Estamos hablando de la opción -U, que no está presente en IDEA. La opción "Reimportar" suena como es, pero no lo es.
talonx
1
Veo que te estás refiriendo a escribir y ejecutar un objetivo experto, en cuyo caso es posible. Sin embargo, me refería a que -U no está presente en el menú incorporado a la derecha ("Proyectos Maven").
talonx
3

Tuve un problema donde IntelliJ no pudo compilar clases, alegando que faltaban dependencias entre proyectos. Volver a importar el proyecto como se sugiere en las respuestas de esta pregunta no resolvió el problema. La solución para mí fue:

  1. eliminar todos los proyectos (pestaña del proyecto / clic derecho en la carpeta raíz / maven / eliminar proyectos);
  2. cierra el editor;
  3. compilar todos los proyectos con maven en la línea de comando;
  4. abra el editor en el mismo proyecto;
  5. agregue los proyectos a maven nuevamente (pestaña maven / agregar proyectos maven (verde +) / elija la raíz pom);

ADVERTENCIA: en algunos proyectos, es posible que deba aumentar la memoria máxima para la importación de Maven (configuración de Maven en la pestaña de Maven / Importar / Opciones de VM para el importador).

Manuel Romeiro
fuente
3

Configuración> Maven> Actualizar siempre instantáneas

nobjta_9x_tq
fuente
0

Si está utilizando rangos de versión para cualquier dependencia, asegúrese de que IntelliJ esté utilizando Maven 3 para importar el proyecto. Usted puede encontrar esta opción en: Settings > Maven > Importing > Use Maven3 to import project. De lo contrario, es posible que las versiones SNAPSHOT no se importen correctamente.

vegemite4me
fuente