2009-12-02 38 views
3

我是OSGi标准的新手。我想知道更多关于捆绑软件包文件的结构。什么是OSGi捆绑软件包结构?

  1. 发现有这个OSGi的INF文件夹,有关本地化和权限提到的规范,我不知道规定的使用OSGI-INF文件夹?我可以放入其他东西吗?
  2. 在哪里存储捆绑引用的jar文件?
  3. 除了OSGi-INF和OSGi-OPT是否有任何由OSGi标准定义的文件夹?

非常感谢。

回答

0

的OSGi捆绑与纯JAR文件没有区别,除了JAR清单中的几个必需条目,即META-INF/MANIFEST.MF文件(正如James已经指出的那样)。

所有其他文件和目录只是公约和像META-INF/springMETA-INF/maven分别使用SpringMaven例如文件夹最佳实践。

某些OSGi服务定义了有关使用OSGI-INF目录的类似约定。据我所知,规范中没有列出所有这些约定的地方。你可以打开specs并搜索“OSGI-INF”以查找所有的事件:-)不要担心没有太多它们。

2

您可能会看看OSGi Core规范。你可以从OSGi Alliances website下载它(它实际上很可读)。例如,对于该规范的4.2版,第3.2章详细讨论了捆绑包及其结构。正如在另一个答案中已经提到的,bundle实际上是一个带有Manifest的简单jar文件,其中包含一些特殊的清单头文件。

其中一些标题还可让您指定某些文件的位置,例如,在节3.2.1.11中束定位头被定义:

捆定位头 包含在束 其中本地化文件可以找到的位置。 默认值为 OSGI-INF/l10n/bundle。翻译是 默认因此 OSGI-INF/L10N/bundle_de.properties, OSGI-INF/L10N/bundle_nl.properties, 等

相关问题