Giả sử bạn có bộ ứng dụng web sử dụng các phiên bản khác nhau của một thư viện chung như Spring. Tôi có một thư viện logic kinh doanh cũng sử dụng thư viện chung này. Cho đến nay không có vấn đề gì, nhưng trên đường đi, một phiên bản của thư viện chung đã thay đổi định nghĩa lớp trừu tượng và phá vỡ thư viện logic nghiệp vụ.Phát hiện các phụ thuộc không tương thích trong Maven?
Vì vậy, tôi kết thúc với một bảng phiên bản tương thích trông như thế này ...
business-lib-version | common-lib-version
1.0 | 1.0
1.1 | 2.0
Tôi không muốn phiên bản kinh doanh lib để lái xe phiên bản lib chung trong việc áp dụng tiêu thụ. Thay vào đó, tôi muốn chọn phiên bản chính xác của lib doanh nghiệp dựa trên lib chung. Tôi khá chắc chắn điều đó là không thể vì vậy tôi chuyển sang câu hỏi chính.
Có cách nào thanh lịch để phát hiện tính không tương thích của phiên bản không? Lý tưởng nhất là tôi muốn một giải pháp xây dựng thời gian, nếu không một giải pháp thời gian chạy sớm sẽ là ok.
Tôi đã thử sử dụng phạm vi phiên bản trong Maven nhưng điều này đã gây ra cho chúng tôi nhiều sự cố do cách Maven sắp xếp các phiên bản ở định dạng phiên bản không chuẩn và chúng tôi cũng có các vấn đề khác nhau trong việc giải quyết các dải ô chính xác tại thời gian xây dựng.
Bằng cách "không tương thích", bạn có chỉ đơn giản là các phiên bản khác nhau hoặc sự cố thực sự không? –
@DaveNewton: một hoặc cả hai tại thời điểm này. Tôi chỉ đơn giản là tìm kiếm giải pháp ít ngạc nhiên nhất. –