OSGI套件組合 osgi-bundles

CAUTION
AEM 6.4已結束延伸支援,本檔案不再更新。 如需詳細資訊,請參閱 技術支援期. 尋找支援的版本 此處.

使用語義版本 use-semantic-versioning

有關語義版本編號的商定最佳做法,請參見 https://semver.org/.

請勿嵌入OSGi套件組合中嚴格需要的更多類和jar do-not-embed-more-classes-and-jars-than-strictly-needed-in-osgi-bundles

應將通用程式庫分解為個別套件。 這可讓這些檔案在您的套件組合中重複使用。 包裝 JAR 在OSGI套件組合中,請務必檢查線上來源,以查看之前是否有人已執行此動作。 查找現有捆綁包裝的一些常見位置包括:Apache Felix、Apache Sling、Apache Geronimo、Apache ServiceMix、Eclipse套件配方和SpringSource Enterprise套件存放庫。

視所需套件版本最低而定 depend-on-the-lowest-needed-bundle-versions

對於POM檔案中的編譯時間相依性,一律取決於需要的最低版本,可公開所需的API。 這可提高回溯相容性,並讓回轉修正程式更容易移植至舊版。

從OSGi套件組合導出最小的套件集 export-a-minimal-set-of-packages-from-osgi-bundles

匯出套件後,我們即建立可供其他人依賴的API。 請務必盡量少匯出,並確認要匯出的是API。 取用私人方法/類別並將其公開比取用先前匯出的項目並使其為私人容易得多。

實作應一律放置在個別 impl 包。 依預設, maven-bundle-plugin 會匯出專案中沒有 impl 以其名義。

始終顯式定義導出的每個包的語義版本 always-explicitly-define-a-semantic-version-for-each-package-exported

這可讓API的消費者與您一同成長。 執行此操作時,請始終遵循語義版本設定最佳實務。 這可讓API的消費者了解新版本中預期的變更類型。

包含公開的元類型資訊 include-metatype-information-where-exposed

借由指定有意義的中繼類型資訊,可讓您在Felix主控台中更輕鬆了解您的服務和元件。 SCR注釋和屬性的清單可在以下位置找到: https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html.

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e