Vì nó được viết bằng câu trả lời trước bạn có hai lựa chọn nếu bạn muốn sử dụng các thư viện bổ sung trong các nhóm của bạn:
- nhúng lọ thư viện trong một gói, trong đó nó sẽ được sử dụng,
- tạo gói OSGi hợp lệ từ thư viện.
Các tiếp cận đầu tiên là đơn giản vì bạn chỉ cần sao chép lọ thư viện (và tất cả phụ thuộc của nó) vào một bó (ví dụ như vào một thư mục root) và sau đó thêm chúng vào Bundle-Classpath
phần tử trong MANIFEST.MF
(xem here) . Tuy nhiên, trong khi thực hiện điều này, bạn phải nhớ rằng thư viện được thêm vào này sẽ chỉ hiển thị trong một gói mà nó được nhúng (do đó việc sử dụng lại thư viện bị hạn chế). Bạn luôn có thể thêm các gói từ thư viện này vào thành phần Export-package
trong MANIFEST.MF
để hiển thị các gói này cho các gói khác nhưng điều này vượt xa giải pháp thanh lịch (tuy nhiên nó sẽ hoạt động).
Để hiển thị các gói khác, bạn nên sử dụng cách tiếp cận thứ hai thứ hai, tức là tạo gói OSGi từ thư viện (có các công cụ có thể giúp bạn thực hiện điều đó, cũng như trong Eclipse). Tuy nhiên, đối với các thư viện phức tạp hơn, cách tiếp cận này có thể khó hơn (vì phụ thuộc và cách tiếp cận tải lớp cụ thể trong OSGi).
Vì vậy, nếu bạn chỉ muốn sử dụng thư viện trong một nhóm, tôi khuyên bạn nên sử dụng phương pháp đầu tiên (dễ triển khai hơn). Nếu bạn muốn sử dụng thư viện này trong nhiều gói trong ứng dụng của mình, bạn nên xem xét cách tiếp cận thứ hai.