Eclipse tính năng là khái niệm để quản lý các plug-in để cung cấp trừu tượng cao hơn. Ví dụ, có hơn hai mươi trình cắm thêm cho các công cụ phát triển C/C++, vì vậy CDT có một số tính năng để sắp xếp các trình cắm thêm đó ở mức trừu tượng cao hơn, cho chức năng cốt lõi, ui, xây dựng và vân vân.
Nó cũng giúp đơn giản hóa quá trình cài đặt, người dùng chỉ cần biết tính năng hàng đầu (với tên thân thiện) của CDT. P2 API hoặc quản lý cài đặt cổ điển có thể tìm thấy các plugin và các tính năng phụ bao gồm cả tính năng hàng đầu, sau đó cài đặt chúng.
Tuy nhiên, tính năng KHÔNG thể giúp bạn tạo hệ thống mô-đun cao, vì bản thân nó không cung cấp bất kỳ chức năng nào. Nó không phải là một phần của đặc tả OSGi, nó được thừa kế từ Eclipse 2.x hoặc thậm chí là phiên bản cũ hơn.
Bó là điều cần thiết của OSGi. Theo thông số kỹ thuật, bất kỳ gói nào không thể sử dụng các lớp khác ngoài việc tuyên bố dây với gói các lớp. Yêu cầu-bó và nhập khẩu-gói là những cách để tạo ra các dây.
Trong một từ ngắn, tính năng và plugin là các khái niệm hoàn toàn khác nhau. Tính năng bao gồm các trình cắm đang thực hiện những việc khác nhau so với Gói nhập gói.
Cập nhật:
này đòi hỏi thẻ của feature.xml là di sản. Mục đích là xác định các phụ thuộc của tính năng này với các trình cắm thêm/tính năng khác để giúp cập nhật trình quản lý để tìm các phụ thuộc bị hỏng khi cài đặt hoặc cập nhật tính năng đó. Nó xác định các phụ thuộc của tính năng đó với các trình cắm thêm khác, nhưng nó được sử dụng bởi trình quản lý cập nhật để cài đặt hoặc cập nhật. Import-Package của gói khai báo sự phụ thuộc thực tế và thực sự giữa gói của bạn và một mô-đun khác trong hệ thống OSGi.
Vì nhật thực sử dụng p2 làm trình quản lý cấp phép, bạn không cần khai báo thẻ 'require' trong tệp feature.xml của mình. P2 sẽ nhận ra sự phụ thuộc giữa gói của bạn và các mô-đun khác được khai báo bởi 'Gói-Nhập' hoặc 'Yêu cầu-Gói'. P2 sẽ không cài đặt hoặc cập nhật tính năng của bạn nếu bất kỳ sự phụ thuộc nào không được thỏa mãn.
@Robert, Không chắc chính xác "feature.xml yêu cầu" là gì. Tuy nhiên phụ thuộc vào các tính năng không bao giờ ảnh hưởng đến ứng dụng của bạn, nó không phải là bắt buộc. Nó chỉ cung cấp một cách dễ dàng để tổ chức các gói, như hộp được gắn thẻ (tính năng và tên của nó) và trứng (bó). :) – Kane
vui lòng xem cập nhật của tôi. –
@Robert, xem cập nhật của tôi. – Kane