J'ai un grand projet Maven avec de nombreux modules et de nombreux pom.xml
fichiers. Le projet a changé et je soupçonne que les pom contiennent des dépendances inutiles. Existe-t-il une commande qui supprime les dépendances inutilisées d'un pom?
277
Réponses:
Le plug-
dependency:analyze
in de dépendance Maven vous aidera, en particulier l' objectif:Une autre chose qui pourrait aider à faire un peu de nettoyage est le rapport de convergence des dépendances du plug-in Maven Project Info Reports .
la source
ignoreNonCompile
option peut être définie sur true.Vous pouvez utiliser
dependency:analyze -DignoreNonCompile
Cela affichera une liste des dépendances déclarées non déclarées et inutilisées utilisées (tout en ignorant les étendues
runtime
/provided
/test
/system
pour l'analyse des dépendances inutilisées.)Soyez prudent lorsque vous utilisez ceci, certaines bibliothèques utilisées sur
runtime
sont considérées comme inutilisées!Pour plus de détails, référez-vous à ce lien
la source
Comme d'autres l'ont dit, vous pouvez utiliser l' objectif de dépendance: analyse pour trouver les dépendances 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 la dépendance: analyse-dep-mgt utile pour rechercher les incompatibilités dans votre section de gestion des dépendances.
Vous pouvez simplement supprimer les dépendances directes indésirables de votre POM, mais si elles sont introduites par des fichiers JAR tiers, vous pouvez utiliser les
<exclusions>
balises dans une dépendance pour exclure les fichiers JAR tiers (voir la section intitulée Exclusions de dépendances pour plus de détails et une discussion) . Voici un exemple excluant la journalisation des communs de la dépendance Spring:la source
Avez-vous regardé le plug-in de dépendance Maven ? Cela ne supprimera pas les choses pour vous, mais dispose d'outils pour vous permettre de faire l'analyse vous-même. Je pense en particulier à
la source
J'ai eu un problème similaire et j'ai décidé d'écrire un script qui supprime les dépendances pour moi. En utilisant cela, j'ai obtenu plus de la moitié des dépendances assez facilement.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
la source
mvn dependency:analyze
. Il essaie simplement de supprimer toutes les dépendances et vérifie si celamvn install
fonctionne.