Maven: determine si las dependencias usan versiones más nuevas de bibliotecas frente al proyecto
Frecuentes
Visto 107 veces
1
Tengo varios conjuntos de bibliotecas. Por ejemplo:
- Core 1.0
- Core 1.5
- Web 1.0 (usa Core 1.0)
- Dibujo 1.0 (usa Core 1.5)
Mi problema surge cuando tengo un proyecto que utiliza las bibliotecas Web y Drawing. Codifico el número de versión de la biblioteca Core en una sección de administración de dependencias de mi proyecto y lo actualizo de vez en cuando. Quiero asegurarme de que si Web o Drawing usa una versión más nueva de Core, actualice el número de versión en dependencyManagement.
versions:display-dependency-updates me dice si hay nuevas versiones de Core disponibles, pero no quiero actualizar a una versión más nueva a menos que Web o Drawing lo requieran.
¿Hay alguna manera de determinar si las dependencias requieren versiones más nuevas de otras dependencias que las que usa mi proyecto?
Gracias.
1 Respuestas
1
Puede usar el mvn -Dverbose dependency:tree
para ver la jerarquía de dependencia y también le mostrará los conflictos de versión como los que ha descrito.
También puede usar mvn versions:display-dependency-updates
para ver las dependencias actualizadas.
contestado el 03 de mayo de 12 a las 18:05
Esa es una buena idea y ayuda. Mi proyecto es grande, por lo que la lista tiene varias páginas; ¿Hay alguna manera de enumerar los conflictos de alguna manera? - jon onstott
Supongo que puedes grep. :) Aunque también hay versiones: mostrar-dependencia-actualizaciones - Eugenio Kuleshov
Por ejemplo: mvn -Dverbose dependencia:árbol | grep "conflicto" - Eugenio Kuleshov
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas maven versioning maven-3 or haz tu propia pregunta.
stackoverflow.com/questions/30571/… O versiones mvn: use-latest-versions - ianpojman
No quiero actualizar a la última versión de una dependencia transitiva si la dependencia no usa la última versión. Quiero que la versión más alta se use activamente. - Jon Onstott
maven hace esto automáticamente cuando resuelve dependencias: puede mirar en la salida del árbol de dependencias para ver cuáles están 'gestionadas por versión' hasta la versión más nueva - ianpojman