我是 OSGi 标准的新手。我想更多地了解捆绑包文件的结构。
- 发现有这个OSGi-INF文件夹,规范中提到了l10n和权限,不知OSGI-INF文件夹的使用定义在哪里?我可以在里面放其他东西吗?
- 捆绑包引用的 jar 文件存储在哪里?
- 除了 OSGi-INF 和 OSGi-OPT 之外,还有 OSGi 标准定义的文件夹吗?
我是 OSGi 标准的新手。我想更多地了解捆绑包文件的结构。
您可能会查看 OSGi 核心规范。您可以从OSGi Alliances 网站下载它(它实际上非常易读)。例如,对于 4.2 版的规范,第 3.2 章详细讨论了捆绑包及其结构。正如另一个答案中已经提到的,捆绑包实际上是带有清单的普通 jar 文件,其中包含几个特殊的清单标头。
其中一些标头还允许您指定某些文件的位置,例如在第 3.2.1.11 节中定义了Bundle-Localization标头:
Bundle-Localization 标头包含在包中可以找到本地化文件的位置。默认值为 OSGI-INF/l10n/bundle。翻译默认是 OSGI-INF/l10n/bundle_de.properties、OSGI-INF/l10n/bundle_nl.properties 等
唯一必需的 OSGi 包元素是 META-INF/MANIFEST.MF 文件中特定于包的条目。
OSGi-INF 和 OSGi-OPT 都是可选的。
看看这个,了解什么是 OSGi 捆绑包的概述:http: //swik.net/Spring/Interface21+Team+Blog/Creating+OSGi+bundles/
这描述了 DS(声明式服务)如何使用 OSGi-INF 文件夹: http: //www.eclipsezone.com/eclipse/forums/t97690.html