Apache Karaf 功能的最佳实践是什么

What are best practices for Apache Karaf feature

是否有任何已知的最佳实践或项目可以研究 Apache Karaf 功能的示例?

我只找到了官方文档:http://karaf.apache.org/manual/latest/#_feature_and_resolver

但它不包括常见的用法示例。

以下是我为我们的咨询实践定义的指导原则:

  1. 将您的 features.xml 文件进程作为 Maven 中的过滤资源,以便您可以进行版本替换等。
  2. 依赖于语义版本范围,尽可能不依赖特定版本
  3. 指定开始级别
  4. 为业务领域创建单个功能存储库 (features.xml)——即订购、计费、报价等
  5. 为 API 与实现
  6. 创建单独的 功能
  7. 定义实现功能时指定 'capability'
  8. Have dependent features(依赖于特征的特征)依赖于API特征并指定一个'requirement'满足指定一个'capability')[=24的实现=]

这允许您在不重新定义特性和依赖于其他特性的特性的情况下交换实现