3

MANIFEST.MF 文件包含一个条目,用于定义在运行时加载哪些 *.properties 文件。这些条目定义名称和相应的属性文件,用于翻译以前缀“%”开头的插件字符串,如“%plugin.name”

Bundle-Localization: plugin

plugin.properties 比包含一行

%plugin.name=Runtime Plugin

属性文件也可以命名为 application.properties,而不是我必须定义

Bundle-Localization: application

当属性文件位于插件子目录“属性”中时,我可以定义

Bundle-Localization: properties/application

我的问题: 我可以在插件之外定义一个捆绑本地化路径,比如

Bundle-Localization: ../properties/application

看起来,正在搜索属性文件路径的 ManifestLocalization 对象确实要求 ZipFile 提供路径。并且 ZipPath 不支持此功能。

我该如何解决这个问题?

4

1 回答 1

3

不,您不能定义插件外部的路径。尽管除了捆绑之外还考虑了片段。

通常,捆绑包不绑定到磁盘上的位置,因此您无法真正定义像 ../properties 这样的路径应该解析到的位置。例如,考虑使用 BundleContext#installBundle(String location, InputStream input). location 参数是捆绑包的标识,没有与之相关的语义。从输入流中读取包的内容。那么捆绑之外的路径意味着什么?

于 2009-04-29T01:54:48.590 回答