Tengo un gran proyecto Maven con muchos módulos y muchos pom.xml
archivos. El proyecto ha cambiado y sospecho que los pom contienen algunas dependencias innecesarias. ¿Hay un comando que elimine las dependencias no utilizadas de un pom?
277
Respuestas:
El complemento de dependencia de Maven ayudará, especialmente el
dependency:analyze
objetivo:Otra cosa que podría ayudar a hacer una limpieza es el informe de convergencia de dependencias del complemento de informes de información del proyecto Maven .
fuente
ignoreNonCompile
opción se puede establecer en verdadero.Puedes usar
dependency:analyze -DignoreNonCompile
Esto imprimirá una lista de dependencias declaradas no declaradas y no utilizadas (al tiempo que ignora
runtime
/provided
/test
/system
ámbitos para el análisis de dependencia no utilizada).Tenga cuidado al usar esto, ¡algunas bibliotecas utilizadas en
runtime
se consideran no utilizadas!Para más detalles consulte este enlace
fuente
Como otros han dicho, puede usar la dependencia: analizar el objetivo para encontrar qué dependencias se usan y declaran, se usan y no se declaran, o no se usan y se declaran. También puede encontrar dependencia: analyse-dep-mgt útil para buscar desajustes en su sección de gestión de dependencias.
Simplemente puede eliminar las dependencias directas no deseadas de su POM, pero si son introducidas por tarros de terceros, puede usar las
<exclusions>
etiquetas en una dependencia para excluir los tarros de terceros (consulte la sección titulada Exclusiones de dependencias para más detalles y alguna discusión) . Aquí hay un ejemplo que excluye commons-logging de la dependencia Spring:fuente
¿Has mirado el plugin de dependencia de Maven ? Eso no eliminará cosas por ti, pero tiene herramientas que te permiten hacer el análisis tú mismo. Estoy pensando particularmente en
fuente
Tuve un problema similar y decidí escribir un script que elimine las dependencias para mí. Usando eso, eliminé más de la mitad de las dependencias con bastante facilidad.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
fuente
mvn dependency:analyze
. Solo intenta eliminar todas las dependencias y comprueba simvn install
funciona.