2013-08-30 29 views
6

Có trường hợp sử dụng hợp lệ nào để có hai phiên bản khác nhau của cùng một tạo tác trong phần quản lý phụ thuộc của POM của bạn không?Maven - Nhiều phiên bản tạo tác trong quản lý phụ thuộc

Tôi đang xem dự án có POM gốc chứa ví dụ như vậy. Bản thân dự án có nhiều mô-đun sử dụng các phiên bản khác nhau của "phụ thuộc trùng lặp" này. Một số mô-đun do đó phải xác định rõ ràng phiên bản tạo tác giữa các phụ thuộc của chúng để phân biệt giữa hai phần.

Nếu tệp POM của mô-đun phải chỉ định phiên bản, thì lý do sao chép trong quản lý phụ thuộc của phụ huynh là gì? Sự phụ thuộc sẽ được tìm kiếm đúng cách ngay cả khi nó đã bị xóa khỏi quản lý phụ thuộc, vậy tại sao bạn lại sao chép nó ở nơi đầu tiên?

Tôi chỉ đang cố gắng tìm hiểu xem đây có phải là phương pháp hay hay nếu có giải pháp tốt hơn cho tình huống như vậy.

Trả lời

7

Trên thực tế, nếu bạn đang sử dụng Maven3 +, bạn sẽ nhận được một cảnh báo như thế này:

[WARNING] 
[WARNING] Some problems were encountered while building the effective model for groupId:artifactId:jar:1.0-SNAPSHOT 
[WARNING] 'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: junit:junit:jar -> version 3.8.1 vs 3.0 @ line 15, column 18 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 

Maven sẽ nhặt đầu tiên, do thứ hai sẽ không bao giờ được sử dụng. Chỉ cần xóa nó để tránh nhầm lẫn hơn :)

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