springframework - ¿Existe una forma sencilla de eliminar las dependencias no utilizadas de un pven.xml maven?
sec authorize (5)
¿Has mirado el complemento de dependencia de Maven ? Eso no eliminará cosas para usted, pero tiene herramientas que le permiten hacer el análisis usted mismo. Estoy pensando particularmente en
mvn dependency:tree
Tengo un gran proyecto de Maven con numerosos módulos y pom.xmls. y el proyecto ha cambiado tanto que estoy seguro de que los pom deben tener algunas dependencias innecesarias en ellos. ¿Alguien sabe si hay un comando que puede ejecutar para eliminar las dependencias sin sentido de un pom?
Como han dicho otros, puede usar la dependency:analyze 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 la dependency:analyze-dep-mgt útil para buscar desajustes en la sección de gestión de dependencias.
Simplemente puede eliminar las dependencias directas no deseadas de su POM, pero si son introducidas por archivos de terceros, puede usar las etiquetas <exclusions>
en una dependencia para excluir los archivos de terceros (consulte la sección titulada Exclusiones de dependencia para obtener detalles y alguna discusión). Aquí hay un ejemplo que excluye el registro de commons de la dependencia de Spring:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
Puede usar la dependency:analyze -DignoreNonCompile
Esto imprimirá una lista de las dependencias unused declared
y used undeclared
unused declared
(mientras se ignoran los ámbitos de tiempo de runtime
/ provided
/ test
/ system
para el análisis de dependencia no utilizado).
¡Pero tenga cuidado al usar esto, algunas bibliotecas usadas en runtime
de runtime
se consideran como no utilizadas!
Tuve un problema similar y decidí escribir un script que elimine las dependencias para mí. Usando eso conseguí más de la mitad de las dependencias fácilmente.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
El complemento de dependencia de Maven ayudará, especialmente la dependency:analyze
objetivo:
dependency:analyze
analiza las dependencias de este proyecto y determina cuáles son: utilizadas y declaradas; utilizado y no declarado; no utilizado y declarado.
Otra cosa que podría ayudar a hacer algo de limpieza es el informe de Convergencia de Dependencia del Complemento Informes de Proyectos de Maven .