Manifest-Version、Bundle-ManifestVersion、Bundle-Version分别是什么意思?

What is the meaning of Manifest-Version, Bundle-ManifestVersion, Bundle-Version?

如果我更改 Manifest.MF 文件中的 Bundle-Version 会有什么影响?

我也无法理解为什么我们在 Manifest.MF 文件中使用 Bundle-Version、Manifest-Version、Bundle-ManifestVersion?

Manifest-Version 是此清单使用的 Java manifest specification 的版本 - 通常始终为 1.0。你通常不会改变这个。

Bundle-ManifestVersion 是此清单使用的 OSGi manifest specification 版本。同样,您通常不会更改它。

Bundle-Version 是形式为 'major.minor.micro.qualifier' 的插件版本。 'qualifier' 通常是某种构建 ID。每次更改插件时,您通常会递增 'major'、'minor' 或 'micro' 之一。

OSGi 使用术语 'Bundle' 来表示 Eclipse 所称的 'plug-in'。

  • Bundle-Version - 版本的 OSGi bundle(在 Eclipse 中 bundle 也称为插件):bundle 可以定义对一个版本范围内其他 bundle 的依赖
  • Manifest-Version - JAR Manifest 格式的版本(到目前为止 1.0
  • Bundle-ManifestVersion - OSGi Manifest 格式 的版本,它扩展了 JAR Manifest 格式(2 自第 4 版以来)