OSGi中包和包版本之间的关系是什么

OSGi中包和包版本之间的关系是什么,osgi,versioning,Osgi,Versioning,在OSGi捆绑包中,导出和导入包时都带有版本号。捆绑包仍然定义了一个版本。这对我来说似乎是多余的 对捆绑包及其包含的包进行版本控制有什么意义?我知道bundle/jar可能会进行版本控制,以便在非OSGi系统中使用它(例如,对于maven)。还有其他原因吗 我对这两个版本控制级别有点困惑。这两个版本号是否依赖于或独立于它们包含的软件包版本?如果依赖,那么发布捆绑包的规则是什么?在OSGi中,包定义了用于让捆绑包协作的契约。bundle是保存代码的jar 包版本的目的是确保捆绑包只依赖/使用它们

在OSGi捆绑包中,导出和导入包时都带有版本号。捆绑包仍然定义了一个版本。这对我来说似乎是多余的

对捆绑包及其包含的包进行版本控制有什么意义?我知道bundle/jar可能会进行版本控制,以便在非OSGi系统中使用它(例如,对于maven)。还有其他原因吗


我对这两个版本控制级别有点困惑。这两个版本号是否依赖于或独立于它们包含的软件包版本?如果依赖,那么发布捆绑包的规则是什么?

在OSGi中,包定义了用于让捆绑包协作的契约。bundle是保存代码的jar

  • 包版本的目的是确保捆绑包只依赖/使用它们兼容的契约。软件包使用语义版本控制来表示小的、微的和大的更改。捆绑包可以导出和导入任意数量的包,并提供和使用任意数量的合同
  • bundle版本的目的是为每个JAR提供一个唯一的标识符,以便在开发生命周期中处理它。SHA代码也可以工作,但不太方便。一些组织基于包中的最高更改来升级包版本。也就是说,如果其包含的包只有微小的更改,则捆绑包将受到微小更改的影响。如果一个包发生了重大更改,那么捆绑包将受到重大影响

在OSGi中,包定义了用于让捆绑包协作的契约。bundle是保存代码的jar

  • 包版本的目的是确保捆绑包只依赖/使用它们兼容的契约。软件包使用语义版本控制来表示小的、微的和大的更改。捆绑包可以导出和导入任意数量的包,并提供和使用任意数量的合同
  • bundle版本的目的是为每个JAR提供一个唯一的标识符,以便在开发生命周期中处理它。SHA代码也可以工作,但不太方便。一些组织基于包中的最高更改来升级包版本。也就是说,如果其包含的包只有微小的更改,则捆绑包将受到微小更改的影响。如果一个包发生了重大更改,那么捆绑包将受到重大影响

在OSGi中,包定义了用于让捆绑包协作的契约。bundle是保存代码的jar

  • 包版本的目的是确保捆绑包只依赖/使用它们兼容的契约。软件包使用语义版本控制来表示小的、微的和大的更改。捆绑包可以导出和导入任意数量的包,并提供和使用任意数量的合同
  • bundle版本的目的是为每个JAR提供一个唯一的标识符,以便在开发生命周期中处理它。SHA代码也可以工作,但不太方便。一些组织基于包中的最高更改来升级包版本。也就是说,如果其包含的包只有微小的更改,则捆绑包将受到微小更改的影响。如果一个包发生了重大更改,那么捆绑包将受到重大影响

在OSGi中,包定义了用于让捆绑包协作的契约。bundle是保存代码的jar

  • 包版本的目的是确保捆绑包只依赖/使用它们兼容的契约。软件包使用语义版本控制来表示小的、微的和大的更改。捆绑包可以导出和导入任意数量的包,并提供和使用任意数量的合同
  • bundle版本的目的是为每个JAR提供一个唯一的标识符,以便在开发生命周期中处理它。SHA代码也可以工作,但不太方便。一些组织基于包中的最高更改来升级包版本。也就是说,如果其包含的包只有微小的更改,则捆绑包将受到微小更改的影响。如果一个包发生了重大更改,那么捆绑包将受到重大影响