有關語義版本編號的商定最佳做法,請參見 https://semver.org/.
應將通用程式庫分解為個別套件。 這可讓這些檔案在您的套件組合中重複使用。 包裝 JAR 在OSGI套件組合中,請務必檢查線上來源,以查看之前是否有人已執行此動作。 查找現有捆綁包裝的一些常見位置包括:Apache Felix、Apache Sling、Apache Geronimo、Apache ServiceMix、Eclipse套件配方和SpringSource Enterprise套件存放庫。
對於POM檔案中的編譯時間相依性,一律取決於需要的最低版本,可公開所需的API。 這可提高回溯相容性,並讓回轉修正程式更容易移植至舊版。
匯出套件後,我們即建立可供其他人依賴的API。 請務必盡量少匯出,並確認要匯出的是API。 取用私人方法/類別並將其公開比取用先前匯出的項目並使其為私人容易得多。
實作應一律放置在個別 impl 包。 依預設, maven-bundle-plugin 會匯出專案中沒有 impl 以其名義。
這可讓API的消費者與您一同成長。 執行此操作時,請始終遵循語義版本設定最佳實務。 這可讓API的消費者了解新版本中預期的變更類型。
借由指定有意義的中繼類型資訊,可讓您在Felix主控台中更輕鬆了解您的服務和元件。 SCR注釋和屬性的清單可在以下位置找到: https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html.