Cómo configurar el archivo maven pom para resolver conflictos de paquetes jar
Maven3 adopta el principio de proximidad al resolver conflictos de dependencia. El principio de proximidad no puede emitir juicios sobre la importación de archivos jar en función del orden de las declaraciones pom.xml.
Los conflictos de paquetes Jar son en su mayoría problemas causados por proyectos con una gestión de dependencias inadecuada. Las ideas de solución son las siguientes:
1. use eclipse, idea y otros editores para abrir la jerarquía de dependencias en la parte inferior del documento pom.xml para ver las dependencias del jar. El segundo método es usar la línea de comando para usar el complemento Maven: mvn?dependency:tree
El resultado tiene dos partes que son muy importantes. La primera parte son dependencias no declaradas utilizadas, lo que significa usadas. en el proyecto pero no se muestran las dependencias declaradas. Esta dependencia representa un riesgo potencial. Es una dependencia transitiva importada de otra dependencia directa y, cuando se actualiza la dependencia directa, la versión de la dependencia también cambia. Esto puede provocar errores en su proyecto actual que no son fáciles de detectar. La otra parte son las dependencias declaradas no utilizadas, que son dependencias que no se utilizan en el proyecto pero que se declaran explícitamente. Es importante señalar que no debemos eliminarlos directamente, sino analizarlos detenidamente. Esto se debe a que la línea de comando no puede encontrar las dependencias necesarias para realizar la prueba y ejecutarla.
Todos estos métodos proporcionan una vista completa de la situación actual del proyecto jar, pero prefiero usar la línea de comando.
2. A través del método anterior, podemos ver el número de versión del jar al que hace referencia el proyecto. El siguiente paso es cómo excluir la versión del jar que no queremos; dependencia>
3, una idea para evitar conflictos de jar, si el proyecto usa directamente un jar, y este jar se introduce en el proyecto maven a través de dependencias transitivas. Es mejor excluir esta dependencia transitiva al declararla explícitamente en el pom. Puede categorizar dependencias, optimizarlas y eliminar dependencias redundantes.