Tengo un gran proyecto Maven con numerosos módulos y pom.xmls. y el proyecto ha cambiado tanto que estoy seguro de que el pom debe tener algunas dependencias innecesarias en ellos. ¿Alguien sabe si hay un comando que puede ejecutar para eliminar cualquier dependencia sin sentido de un pom?¿Hay una manera simple de eliminar las dependencias no utilizadas de un maven pom.xml?
Respuesta
¿Has mirado el Maven Dependency Plugin? Eso no eliminará las cosas por usted, pero tiene herramientas que le permiten hacer el análisis usted mismo. Estoy pensando sobre todo en
mvn dependency:tree
Excelente - gracias (no pude encontrar lo que estaba buscando porque seguí buscando "dependencias limpias" y estaba lanzando el plugin limpio !! pero esto parece prometedor ... dependencia mvn: analizar) –
El Maven Dependency Plugin ayudará, especialmente el dependency:analyze
objetivo:
dependency:analyze
analiza las dependencias de este proyecto y determina cuales son: utilizar y declaró; usado y no declarado; no utilizado y declarado.
Otra cosa que podría ayudar a hacer algo de limpieza es la Dependency Convergence report del Maven Project Info Reports Plugin.
¿Cómo puedo activar esto en Eclipse? ? –
Tenga cuidado con la dependencia: analizar, algunas bibliotecas utilizadas en tiempo de ejecución se consideran como no utilizadas. – Nereis
Para evitar informar el tiempo de ejecución y las dependencias proporcionadas como no utilizadas, la opción ['ignoreNonCompile'] (https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html#ignoreNonCompile) se puede establecer en cierto. – sudeep
Como han dicho otros, puede usar el objetivo dependency:analyze 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 dependency:analyze-dep-mgt útil para buscar discrepancias en la sección de gestión de la dependencia.
Usted puede simplemente eliminar las dependencias directas no deseados de su POM, pero si que son introducidos por los tarros de terceros, puede utilizar los <exclusions>
etiquetas en una dependencia de excluir a los frascos de terceros (véase la sección titulada Dependencia Exclusiones para detalles y algo de discusión). Aquí está un ejemplo excluyendo commons-logging de la dependencia de primavera:
<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>
(IntelliJ) Usé el complemento Jonnyzzz, como se comentó en la pregunta. Buen plugin, funciona bien con IntelliJ 2016.1.3 – Benj
que tenía el mismo tipo de problema y decidí escribir un script que elimina las dependencias para mí. Usando eso, obtuve más de la mitad de las dependencias con bastante facilidad.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
Nota, este script no usa 'mvn dependency: analyze'.Simplemente intenta eliminar todas las dependencias y comprueba si funciona 'mvn install'. – dit
Puede utilizar dependency:analyze -DignoreNonCompile
Esto imprimirá una lista de dependencias declaradas no declarados y sin uso (sin tener en cuenta tiempo de ejecución/Siempre/Prueba/Sistema de ámbitos para el análisis de la dependencia sin usar.)
¡Pero tenga cuidado al usar esto, algunas bibliotecas utilizadas en tiempo de ejecución se consideran como no utilizadas!
- 1. Cómo detectar dependencias maven no utilizadas
- 2. Excluir partes no utilizadas de dependencias de jar (Maven)
- 3. Múltiples archivos pom.xml maven
- 4. Actualizar las dependencias de Maven automáticamente
- 5. Cómo deshabilitar automáticamente "Actualizar las dependencias de Maven" después de guardar un pom.xml?
- 6. ¿Cómo puedo ver las dependencias transitivas de un archivo Maven pom.xml?
- 7. ¿Qué son las dependencias no utilizadas/no declaradas en Maven? Qué hacer con ellos?
- 8. obtener información sobre las dependencias de maven
- 9. Eliminar referencias no utilizadas
- 10. ¿Cómo averiguar los archivos jar de los que dependen las dependencias en pom.xml de maven?
- 11. ¿La mejor manera de compartir partes de un pom.xml de Maven en proyectos no relacionados?
- 12. ¿Hay algún complemento que permita cargar/usar dependencias no Maven?
- 13. Resolviendo las dependencias de maven
- 14. Excluyendo las dependencias de Maven
- 15. ¿Hay alguna manera de obtener una advertencia sobre las funciones no utilizadas?
- 16. Maven: ¿Cómo eliminar las dependencias si ya son transitivas?
- 17. Módulos Maven opcionales en pom.xml
- 18. Cómo eliminar las ramas de git no utilizadas
- 19. Eclipse WTP no publica las dependencias de Maven
- 20. Dependencias de Blacklist Maven
- 21. Maven. Dependencias transitivas
- 22. ¿Hay alguna manera de identificar las supresiones de mensajes FxCop no utilizadas o obsoletas?
- 23. Maven: ¿Debo conservar o eliminar las dependencias declaradas que también son dependencias transitivas?
- 24. Cómo descargar frascos de Maven Central sin escribir ningún pom.xml
- 25. ¿Hay alguna forma de instalar las dependencias de maven antes de que maven intente resolverlas?
- 26. Pros y contras de Go rechazar dependencias no utilizadas
- 27. ¿Hay una clase Java que genere un archivo POM.xml?
- 28. ¿Cómo hacer que las dependencias de Maven se impriman en un archivo en un formato legible?
- 29. Ordenar las dependencias de maven en Eclipse
- 30. Las dependencias de Maven no se pueden resolver
Si está utilizando IntelliJ, consulte esto: http://jonnyzzz.com/blog/2013/05/13/removing-unused-dependencies-in-idea/ En caso de enlace inactivo: Jonnyzzz Dependencies plugin – Benj