2014-04-07 12 views
38

Tôi đã đọc qua số the docs và không tìm thấy bất kỳ nội dung nào nói về nội dung được sử dụng.Mục đích của dependency-reduce-pom.xml được tạo bởi plugin bóng râm là gì?

+1

Không phải là nó tương đối rõ ràng trong tài liệu Mojo: http://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#createDependencyReducedPom? – Tome

+5

Không, không có gì trong đó về mục đích của nó. – Transcendence

+5

Vâng, nếu bạn có một mô-đun A với các phụ thuộc X và tô bóng một số trong chúng trong một JAR cụ thể (A-shaded.jar), thì bạn sẽ không cần các phụ thuộc được tô bóng đó nếu bạn muốn phụ thuộc vào A-shaded.jar thay vì A.jar. Vì vậy, plugin tạo một tệp pom.xml chỉ chứa các phụ thuộc không được tô bóng Y. – Tome

Trả lời

28

Bóng: bóng râm Mojo là khá tốt tài liệu, ở đây đặc biệt là về createDependencyReducedPom tham số, mà sẽ tạo ra rằng dependency-reduced-pom.xml file: maven-shade-plugin/shade-mojo.html#createDependencyReducedPom

Nói tóm lại, đây là khá hữu ích nếu bạn có ý định sử dụng JAR bóng mờ (thay vì của JAR bình thường) như là một phụ thuộc cho một mô-đun khác. Điều đó dependency-reduced-pom.xml sẽ không chứa các JAR đã có trong bóng mờ, tránh trùng lặp vô dụng.

+14

Tôi không chắc chắn rằng tôi đồng ý rằng bất cứ điều gì về mvn cũng là tài liệu, công nghệ vốn đã khó hiểu. Sẽ rất hữu ích khi hiểu cách sử dụng tệp phụ thuộc-reduce-pom.xml. Nó nên được sử dụng ở đâu và như thế nào. –

+1

Ở trên, @ScottBoring hỏi nơi cài đặt sẽ được thêm vào. Nó đi vào khối cấu hình và có một ví dụ về khối đó trong định nghĩa của plugin trên [trang sử dụng plugin bóng maven] (https://maven.apache.org/plugins/maven-shade-plugin/usage.html) . –

+4

Nhưng làm thế nào, khi bạn phụ thuộc vào các lọ bóng mờ, bạn có nhận được nó để sử dụng drp thay thế? – OrangeDog

6

Tôi đọc số docs khoảng một trăm lần hoặc lâu hơn và vẫn không thể hiểu điều này là gì, trường hợp sử dụng cho nó là gì.

Cuối cùng đây là những gì tôi nghĩ: cho phép bạn nói rằng bạn có dự án với phụ thuộc A, B, C, D, E. Trong pom.xml bạn định cấu hình plugin bóng râm theo cách sao cho nó tạo ra uber-jar (gọi nó là foo.jar), nó bao gồm A, B, C trong lọ được tô bóng nhưng vì một số lý do bạn quyết định không bao gồm D, E trong bình bóng mờ mặc dù dự án của bạn phụ thuộc vào chúng - một trường hợp tại điểm là phụ thuộc chỉ cần thiết để thử nghiệm (ví dụ: bất kỳ phụ thuộc nào có scope của test và không được bao gồm trong bình tô bóng). dependency-reduced-pom.xml sẽ xác định D, E trong đó. Ý tưởng là nếu ai đó muốn sử dụng foo.jar các dependency-reduced-pom.xml cung cấp một gợi ý của một số loại mà hãy cẩn thận foo.jar là thiếu phụ thuộc D, E trong nó - sử dụng có nguy cơ của riêng bạn. Sau đó, bạn có thể quyết định thêm rõ ràng D, E vào dự án sẽ sử dụng foo.jar.

Vì vậy, dependency-reduced-pom.xml giống như missing-dependencies.xml và liệt kê các phụ thuộc bị thiếu trong uber-jar được tạo bởi plugin bóng râm.

Các vấn đề liên quan