Eu tenho um grande projeto Maven com muitos módulos e muitos pom.xml
arquivos. O projeto mudou e suspeito que os poms contenham algumas dependências desnecessárias. Existe um comando que remove quaisquer dependências não utilizadas de um pom?
277
Respostas:
O Plugin de Dependência do Maven ajudará, especialmente o
dependency:analyze
objetivo:Outra coisa que pode ajudar a fazer uma limpeza é o relatório de Convergência de Dependências do plug-in de relatórios de informações do projeto Maven .
fonte
ignoreNonCompile
opção pode ser configurada como true.Você pode usar
dependency:analyze -DignoreNonCompile
Isto irá imprimir uma lista de usados não declarado e não utilizados declarados dependências (ignorando
runtime
/provided
/test
/system
escopos para análise de dependência não utilizado.)Cuidado ao usar isso,
runtime
pois algumas bibliotecas usadas são consideradas não utilizadas!Para mais detalhes consulte este link
fonte
Como já foi dito, você pode usar a dependência: analise o objetivo para descobrir quais dependências são usadas e declaradas, usadas e não declaradas ou não usadas e declaradas. Você também pode encontrar dependência: analy-dep-mgt útil para procurar incompatibilidades na seção dependencyManagement.
Você pode simplesmente remover dependências diretas indesejadas do seu POM, mas se elas forem introduzidas por jarros de terceiros, poderá usar as
<exclusions>
tags em uma dependência para excluir os jarros de terceiros (consulte a seção intitulada Exclusões de dependência para obter detalhes e algumas discussões) . Aqui está um exemplo que exclui o registro comum da dependência do Spring:fonte
Você já viu o plug-in de dependência do Maven ? Isso não removerá nada para você, mas possui ferramentas para permitir que você faça a análise por conta própria. Estou pensando particularmente em
fonte
Eu tive um tipo semelhante de problema e decidi escrever um script que remove as dependências para mim. Usando isso, consegui remover metade das dependências com bastante facilidade.
http://samulisiivonen.blogspot.com/2012/01/cleanin-up-maven-dependencies.html
fonte
mvn dependency:analyze
. Ele apenas tenta remover todas as dependências e verifica semvn install
funciona.