Localization 什么是OSGi包包结构?
我是OSGi标准的新手。我想更多地了解bundle包文件的结构Localization 什么是OSGi包包结构?,localization,jar,osgi,bundle,Localization,Jar,Osgi,Bundle,我是OSGi标准的新手。我想更多地了解bundle包文件的结构 发现有这个OSGi-INF文件夹,规范中提到了l10n和权限,我想知道OSGi-INF文件夹的使用是从哪里定义的?我能把其他东西放进去吗 在哪里存储捆绑包引用的jar文件 除了OSGi INF和OSGi OPT之外,还有OSGi标准定义的文件夹吗 唯一必需的OSGi bundle元素是META-INF/MANIFEST.MF文件中特定于bundle的条目 OSGi INF和OSGi OPT都是可选的 查看以下内容,了解OSGi捆绑包
唯一必需的OSGi bundle元素是META-INF/MANIFEST.MF文件中特定于bundle的条目 OSGi INF和OSGi OPT都是可选的 查看以下内容,了解OSGi捆绑包的构成要素: 下面介绍DS(声明性服务)如何使用OSGi INF文件夹:
OSGi捆绑包与普通JAR文件没有区别,除了JAR清单中的一些必需条目,
META-INF/manifest.MF
文件(正如James已经指出的那样)
所有其他文件和目录都只是约定和最佳实践,例如和分别使用的文件夹META-INF/spring
或META-INF/maven
一些OSGi服务定义了关于使用
OSGi-INF
目录的类似约定。据我所知,规范中没有一个地方列出了所有这些约定。您可以打开并搜索“OSGI-INF”以查找所有事件:-)不要担心它们不会太多 您可以看看OSGi核心规范。您可以从下载(它实际上相当可读)。例如,对于规范的4.2版,第3.2章详细讨论了捆绑包及其结构。正如在另一个答案中已经提到的,bundle实际上是普通的jar文件,其清单包含两个特殊的清单头
其中一些标头还允许您指定某些文件的位置,例如,在第3.2.1.11节中,定义了捆绑包本地化标头:
Bundle本地化头
包含包中的位置
在那里可以找到本地化文件。
默认值为
OSGI-INF/l10n/bundle。翻译是
因此,默认情况下
OSGI-INF/l10n/bundle\u de.properties,
OSGI-INF/l10n/bundle\u nl.properties,
等