Como você pode exibir a árvore de dependência do Maven para os * plugins * em seu projeto?

130

Uma técnica comum de depuração do Maven é usar mvn dependency: tree para visualizar o gráfico das dependências do projeto.

No entanto, esta lista mostra as dependências do projeto, não a árvore de dependência do plug-in para cada plug-in. Existe alguma maneira de fazer isso em um projeto?

Alex Miller
fonte
1
Você já tentou correr -X mvn ...
khmarbaise
Sim, e isso é útil para certos problemas, mas não é o que estou pedindo.
Alex Miller
Ele contém as dependências de um plug-in, caso contrário não existe algo disponível.
khmarbaise
@khmarbaise está correto. A árvore de dependência de um plug-in está disponível na saída de depuração do Maven. Também não conheço outra maneira de obtê-lo. (Se você transformar isso em uma resposta, eu vou upvote-lo.)
Ryan Stewart
Veja também stackoverflow.com/q/312767/32453
rogerdpack

Respostas:

102

A saída via mvn -X imprimirá as informações indiretamente. Atualmente, não há outra opção para obter as dependências de um plug-in Maven.

Atualizar Você pode usar o seguinte comando para obter uma lista de dependências de plug-in (objetivo de resolver-plug-in no plug-in de dependências):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins

A versão mais curta é (e é um mau hábito especificar versões de plugins)

mvn dependency:resolve-plugins
khmarbaise
fonte
14
O resolve-plugins não apenas gera a árvore de dependências ... parece fazer o download novamente de todos os pacotes. Não é ideal.
Reinderien
5
O plug-in não respeita substituindo dependências do plug-in em POM (tag <build><plugins><plugin><dependencies><dependency>)
amra
usar a última versão do plug-in: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.10: resolve-plugins
STB Land
Por padrão, o maven carrega a versão 2.something do plugin de dependência. Pessoalmente, consegui obter melhores resultados ao usar a versão 3.x.
Dragas 7/01
-3

Se você estiver usando algum IDE como o IDEA IntelliJ ou o Eclipse:

  • Você pode adicionar este plugin abaixo no seu pom.xml
  • Uma vez feito, na janela Maven (à direita do IDE), você encontrará um novo plugin chamado Dependencies
  • Expanda isso e você verá a dependência: objetivo da árvore, clique duas vezes nele e execute-o, você verá a árvore de dependência completa

Plug-in a ser adicionado no POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Dean Jain
fonte