Estoy trabajando en un proyecto con dependencia X. X, a su vez, depende de Y.
Solía incluir explícitamente Y en el pom de mi proyecto. Sin embargo, no se usó y para hacer las cosas más limpias, en cambio lo agregué al pom de X como una dependencia. X está marcado como una dependencia de lanzamiento.
El problema es que después de eliminar Y del pom de mi proyecto y agregarlo al pom de X, mi proyecto no lo está recuperando mvn -U clean package
. Sé -U instantáneas de actualización pero no lanzamientos.
Entonces, sin eliminar el directorio ~ / .m2 / repository, ¿cómo puedo forzar una nueva descarga de X's pom? Además, intenté correr dependency:purge-local-repository
y tampoco funcionó.
X
el pom, entonces debería constituir una nueva versión, incluso si es solo un cambio de número de parche:1.3
->1.3.1
. Entonces, eso eliminaría este problema desde el primer momento.Respuestas:
No puede hacer que Maven vuelva a descargar dependencias, pero lo que puede hacer en su lugar es purgar las dependencias que se descargaron incorrectamente usando
mvn dependency:purge-local-repository
Ver: http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
fuente
mvn dependency:purge-local-repository clean package
, puede ser que un proyecto elimine la misma dependencia en el repositorio local mientras otro proyecto ejecuta la compilación. ¿Como evitar?Acabo de eliminar mi ~ / .m2 / repositorio y eso obligó a una nueva descarga;)
fuente
¡Creo que seguir el comando puede ayudarte!
fuente
Gracias a la respuesta de Ali Tokmen. Logré forzar la eliminación de la dependencia local específica con el siguiente comando:
Con esto, se elimina
utils
de mi .m2 / repositorio y siempre vuelve a descargar lautils
dependencia JAR cuando ejecutomvn clean install
.fuente
Haga clic derecho en el proyecto-> Maven -> Actualizar proyecto y marque las casillas de verificación como en la captura de pantalla. También actualizará los lanzamientos :)
fuente
-U significa forzar la actualización de dependencias.
Si desea actualizar una sola dependencia sin limpiar o -U, puede eliminarla de su repositorio local y luego compilar.
fuente
Cuando lo agregó a X, debería haber incrementado el número de versión de X, es decir, X-1.2.
Luego, X-1.2 debería haberse instalado / implementado y debería haber cambiado la dependencia de sus proyectos en X para depender de la nueva versión X-1.2
fuente
Si conoce la identificación del grupo
X
, puede usar este comando para volver a descargar todoX
y sus dependenciasHace lo mismo que las otras respuestas que proponen usar
dependency:purge-local-repository
, pero solo elimina y vuelve a descargar todo lo relacionado conX
.fuente
Si realmente desea forzar la descarga de todas las dependencias, puede intentar reiniciar todo el repositorio de Maven. Como en este artículo ya descrito, puede usar:
fuente
Simplemente elimine ~ / .m2 / repository ..... / actual_path donde viene el LOC no válido ya que obliga a volver a descargar los archivos jar eliminados. No elimine toda la carpeta del repositorio, en su lugar, elimine la carpeta específica de donde proviene el error.
fuente
Eliminarlo
~/.m2/repository
resolverá su problema. Pero, si aún necesita conservar el viejo~/.m2/repository
, simplemente puede cambiar temporalmente la ruta local de Maven.Si está trabajando en IntelliJ, simplemente vaya a Configuración de Maven y cambie la ruta del Repositorio local a otro lugar. Es posible que deba marcar la casilla de verificación de anulación cerca de allí.
fuente
La mayoría de las respuestas proporcionadas anteriormente resolverían el problema.
Pero si usa IntelliJ y desea que lo arregle automáticamente, vaya a Configuración de Maven.
Compilación, ejecución, implementación -> Herramientas de compilación -> Maven
Desactivar trabajo sin conexión
Habilitar siempre actualizar instantáneas (cambiar cuando sea necesario)
fuente
Vaya a la ruta de compilación ... elimine la biblioteca existente de maven que agregó ... haga clic en agregar biblioteca ... haga clic en dependencias administradas de maven ... luego haga clic en la configuración del proyecto maven ... marque la casilla de verificación resolver dependencias de maven ... descargará todo dependencias de Maven
fuente