Ý nghĩa của loại "gói" trong phụ thuộc maven là gì?


91

Ý nghĩa của "bó" ví dụ trong phụ thuộc này là gì:

<dependency>
    <groupId>org.apache.abdera</groupId>
    <artifactId>abdera-core</artifactId>
    <version>1.1.2</version>
    <type>bundle</type>
    <scope>compile</scope>
</dependency>

Câu trả lời:


83

Loại phần mềm này là một gói OSGi, thường được tạo ra bằng cách sử dụng maven-pack-plugin , một phần của Apache Felix .

Plugin xử lý tất cả các lớp có sẵn cho mô-đun của bạn (các lớp riêng của mô-đun, các lớp được cung cấp bởi các phụ thuộc, các lớp khác trên classpath) như một tập hợp khổng lồ, sau đó cho phép bạn chọn một tập hợp con của các lớp đó để nhóm vào một jar. Nó cũng tạo ra thông tin kê khai cần thiết để biến tạo tác thành một gói OSGi.

Vì vậy, tạo tác bạn đang lấy bằng cách sử dụng phụ thuộc này là một jar, tuy nhiên nó là một jar được xây dựng bằng cách chọn một tập con từ một tập hợp các lớp lớn hơn nhiều, không chỉ các lớp đã được định nghĩa bên trong mô-đun abdera-core.

Nếu bạn xem bản pom cho dự án abdera, bạn sẽ thấy maven-bundle-plugincấu hình sẽ cung cấp cho bạn ý tưởng về lớp nào đã được thêm vào gói và lớp nào đã bị giữ lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.