Tôi thấy ba tùy chọn:
- Đặt các phần phụ thuộc vào một kho lưu trữ (có thể là một kho lưu trữ tệp như được mô tả trong câu trả lời này
) và khai báo chúng với phạm vi
provided
. - Sử dụng
system
bẩn thủ thuật phạm vi (tức là khai báo các phần phụ thuộc với một phạm vi hệ thống và đặt đường dẫn đến các bình trong hệ thống tệp của bạn. - Một biến thể nhỏ của # 2:tạo một bình với MANIFEST.MF tham chiếu đến tất cả các bình (sử dụng đường dẫn tương đối) và khai báo sự phụ thuộc vào bình gần như trống rỗng này bằng
system
phạm vi.
Cách sạch là lựa chọn số 1 nhưng những cách khác cũng sẽ hoạt động trong trường hợp của bạn. Tùy chọn số 3 có vẻ là lựa chọn gần nhất với những gì bạn đang tìm kiếm.
Cập nhật: Để làm rõ tùy chọn số 3
Giả sử bạn có một thư mục với a.jar
và b.jar
. Tạo c.jar
với Class-Path
mục nhập trong META-INF/MANIFEST.MF
của nó liệt kê các lọ khác, tương tự như thế này:
Class-Path: ./a.jar ./b.jar
Sau đó, khai báo sự phụ thuộc trong POM của bạn trên c
(và chỉ trên c
) với hệ thống system
phạm vi, các lọ khác sẽ trở nên "hiển thị" mà không cần phải liệt kê rõ ràng chúng trong POM của bạn (chắc chắn, bạn cần phải khai báo chúng trong tệp kê khai nhưng điều này có thể rất dễ dàng được viết theo kịch bản).