J'ai un gros projet Maven avec de nombreux modules et pom.xmls. et le projet a tellement changé que je suis sûr que les pom's doivent avoir des dépendances inutiles. Est-ce que quelqu'un sait s'il y a une commande que l'on peut lancer pour supprimer toutes les dépendances inutiles d'un pom ?
Réponses
Trop de publicités?El Plugin de dépendances Maven vous aidera, en particulier le dependency:analyze
objectif :
dependency:analyze
analyse les dépendances de ce projet et détermine lesquelles sont : utilisées et déclarées ; utilisées et non déclarées ; non utilisées et déclarées.
Une autre chose qui pourrait aider à faire un peu de nettoyage est le Rapport sur la convergence des dépendances de la Plugin Maven Project Info Reports .
Vous pouvez utiliser dependency:analyze -DignoreNonCompile
Cela imprimera une liste de utilisé non déclaré y non utilisé déclaré (tout en ignorant les runtime
/ provided
/ test
/ system
pour l'analyse des dépendances inutilisées).
## Soyez prudent en utilisant ceci, certaines bibliothèques utilisées à runtime
sont considérés comme inutilisés
Comme d'autres l'ont dit, vous pouvez utiliser le dépendance:analyse pour trouver quelles dépendances sont utilisées et déclarées, utilisées et non déclarées, ou non utilisées et déclarées. Vous pouvez également trouver dépendance:analyse-dep-mgt Il est utile de rechercher les incompatibilités dans votre section de gestion des dépendances.
Vous pouvez simplement supprimer les dépendances directes non souhaitées de votre POM, mais si elles sont introduites par des jars tiers, vous pouvez utiliser la fonction <exclusions>
dans une dépendance pour exclure les jars tiers (voir la section intitulée Exclusions pour charges de famille pour plus de détails et une discussion). Voici un exemple excluant commons-logging de la dépendance 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>
Avez-vous regardé le Plugin de dépendances Maven ? Il n'enlèvera pas d'éléments pour vous mais dispose d'outils pour vous permettre de faire l'analyse vous-même. Je pense en particulier à
mvn dependency:tree
J'ai eu le même genre de problème et j'ai décidé d'écrire un script qui supprime les dépendances pour moi. En utilisant cela, j'ai éliminé plus de la moitié des dépendances assez facilement.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
- Réponses précédentes
- Plus de réponses