Làm thế nào bạn có thể hiển thị cây phụ thuộc Maven cho * plugin * trong dự án của bạn?


130

Một kỹ thuật gỡ lỗi Maven phổ biến là sử dụng phụ thuộc mvn: cây để xem biểu đồ của các phụ thuộc dự án.

Tuy nhiên, danh sách này hiển thị các phụ thuộc dự án, không phải cây phụ thuộc plugin cho mỗi plugin. Có một số cách để làm điều này từ một dự án?


1
Bạn đã thử chạy mvn -X ...
khmarbaise

Vâng, và điều đó hữu ích cho một số vấn đề nhất định nhưng không phải là những gì tôi yêu cầu.
Alex Miller

Nó chứa các phụ thuộc của một plugin nếu không thì không có sẵn như vậy.
khmarbaise

@khmarbaise là đúng. Cây phụ thuộc của một plugin có sẵn trong đầu ra gỡ lỗi của Maven. Tôi cũng không biết cách nào khác để có được nó. (Nếu bạn biến câu trả lời này thành câu trả lời, tôi sẽ nêu lên.)
Ryan Stewart

Câu trả lời:


102

Đầu ra qua mvn -X sẽ in ra thông tin một cách gián tiếp. Hiện tại không có tùy chọn nào khác để có được sự phụ thuộc của Maven-Plugin.

Cập nhật Bạn có thể sử dụng lệnh sau để nhận danh sách các phụ thuộc plugin ( mục tiêu giải quyết plugin từ plugin phụ thuộc):

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

Phiên bản ngắn hơn là (và đó là một thói quen xấu để chỉ định phiên bản plugin)

mvn dependency:resolve-plugins

14
giải pháp bổ trợ không chỉ xuất ra cây phụ thuộc ... có vẻ như tải xuống lại tất cả các gói. Không lý tưởng.
Reinderien

5
Plugin không tôn trọng các phụ thuộc của plugin trong pom.xml (thẻ <build><plugins><plugin><dependencies><dependency>)
amra

để sử dụng phiên bản plugin cuối cùng: mvn org.apache.maven.plugins: maven-Depency-plugin: 2.10: giải quyết các plugin
STB Land

Theo mặc định, maven tải plugin phụ thuộc phiên bản 2. một cái gì đó. Cá nhân tôi đã quản lý để có kết quả tốt hơn khi sử dụng phiên bản 3.x.
Dragas

-3

Nếu bạn đang sử dụng bất kỳ IDE nào như IDEA IntelliJ hoặc Eclipse:

  • Bạn có thể thêm plugin này bên dưới trong tệp pom.xml của bạn
  • Sau khi hoàn thành, trên cửa sổ Maven (bên phải IDE), bạn sẽ tìm thấy một plugin mới có tên là Dependencies
  • Mở rộng điều đó và bạn sẽ thấy sự phụ thuộc: mục tiêu cây, nhấp đúp chuột vào nó và chạy nó, bạn sẽ thấy cây phụ thuộc đầy đủ

Plugin được thêm vào trong POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.