У меня большой проект Maven со многими модулями и множеством pom.xml
файлов. Проект изменился, и я подозреваю, что в нем есть некоторые ненужные зависимости. Есть ли команда, которая удаляет все неиспользуемые зависимости от pom?
277
Ответы:
Maven зависимостей плагин поможет, особенно
dependency:analyze
цели:Еще одна вещь, которая может помочь выполнить некоторую очистку, - это отчет о конвергенции зависимостей из плагина Maven Project Info Reports .
источник
ignoreNonCompile
создание отчетов о времени выполнения и предоставленных зависимостях как неиспользуемых, для параметра можно установить значение true.Ты можешь использовать
dependency:analyze -DignoreNonCompile
Это выведет список использованных необъявленных и неиспользованных объявленных зависимостей (при этом игнорируются области
runtime
/provided
/test
/system
для анализа неиспользованных зависимостей.)Будьте осторожны при использовании этого, некоторые используемые библиотеки
runtime
считаются неиспользованными!Для более подробной информации обратитесь по этой ссылке
источник
Как уже говорили другие, вы можете использовать зависимость: проанализируйте цель, чтобы найти, какие зависимости используются и объявляются, используются и не декларируются, или не используются и объявляются. Вы также можете найти зависимость: analyse-dep-mgt полезной для поиска несоответствий в вашем разделе dependencyManagement.
Вы можете просто удалить нежелательные прямые зависимости из вашего POM, но если они представлены сторонними jar-файлами, вы можете использовать
<exclusions>
теги в зависимостях для исключения сторонних jar-файлов ( подробности и некоторые обсуждения см. В разделе « Исключения зависимостей» ). , Вот пример, исключающий использование общего журнала из зависимости Spring:источник
Вы смотрели на Maven Dependency Plugin ? Это не удалит вещи для вас, но есть инструменты, которые позволят вам сделать анализ самостоятельно. Я думаю о
источник
У меня была похожая проблема, и я решил написать сценарий, который удаляет зависимости для меня. Используя это, я довольно легко избавился от половины зависимостей.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
источник
mvn dependency:analyze
. Он просто пытается удалить все зависимости и проверяет,mvn install
работает ли .