Crie um projeto simples apenas com pom.xml. Adicione sua dependência e execute:
mvn dependency:tree
Infelizmente, a dependência mojo deve usar pom.xml ou você recebe o seguinte erro:
Não é possível executar o mojo: tree. Requer um projeto com um pom.xml existente, mas a construção não está usando um.
2) Encontre o pom.xml do seu artefato no repositório central do maven
As dependências são descritas no pom.xml do seu artefato. Encontre-o usando a infraestrutura maven.
Vá para http://search.maven.org/ e insira seu groupId e artifactId.
Ou você pode ir para http://repo1.maven.org/maven2/ e navegar primeiro usando os plugins groupId, depois usando artifactId e finalmente usando sua versão.
Por exemplo, consulte org.springframework: spring-core
3) Use o plugin de dependência maven contra seu artefato
Parte do artefato de dependência é um pom.xml. Isso especifica sua dependência. E você pode executar a dependência do mvn: tree neste pom.
pom.xml
arquivos), você pode receber um erro. Tentemvn compile dependency:tree
então.Se você se incomodar em criar um projeto de amostra e adicionar sua dependência de terceiros, poderá executar o seguinte para ver a hierarquia completa das dependências.
Você pode procurar um artefato específico usando este comando maven:
De acordo com a documentação:
Imagine que você está tentando encontrar o arquivo jar 'log4j-1.2-api' entre os diferentes módulos do seu projeto:
mais informações podem ser encontradas aqui .
Edit: Observe que, apesar das vantagens de usar o parâmetro detalhado , ele pode não ser tão preciso em algumas condições. Porque ele usa o algoritmo Maven 2 e pode dar resultados errados quando usado com o Maven 3.
fonte
-Dverbose
foi o suficiente para me mostrar a árvore completa que eu precisava. Canalizando a saída paraless
ou similar e fazer uma busca rápida funciona muito bem se você não consegue lembrar aincludes
bandeira ou não querem fornecer o completo ou wildcardedgroupId
:)[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
A solução é chamar dependency: tree com o arquivo pom.xml do artefato:
Consulte também Como listar as dependências transitivas de um artefato de um repositório?
fonte
Se você usar uma versão atual do m2eclipse (que deveria usar se usar eclipse e maven):
Selecione a entrada do menu
Navigate -> Open Maven POM
e insira o artefato que você está procurando.
O pom será aberto no editor do pom, no qual você pode selecionar a guia
Dependency Hierarchy
para visualizar a hierarquia de dependências (como o nome sugere :-))fonte
Se o seu artefato não for uma dependência de um determinado projeto, sua melhor aposta é usar um mecanismo de pesquisa de repositório . Muitos deles descrevem as dependências de um determinado artefato.
fonte
Se você deseja obter uma representação gráfica e pesquisável da árvore de dependência (incluindo todos os módulos do seu projeto, dependências transitivas e informações de despejo), consulte UpdateImpact: https://app.updateimpact.com (serviço gratuito).
Isenção de responsabilidade: sou um dos desenvolvedores do site
fonte
Eu sei que este post é bastante antigo, mas ainda assim, se alguém usando o IntelliJ quiser ver a árvore de dependência diretamente no IDE, poderá instalar o Maven Helper Plugin in do .
Uma vez instalado, abra o pom.xml e você poderá ver a guia Analise de Dependências, como abaixo. Ele também fornece a opção de ver a dependência que está em conflito apenas e também como uma estrutura em árvore.
fonte