Java 在清单文件中使用外部捆绑包本地化路径
MANIFEST.MF文件包含一个条目,用于定义在运行时加载哪些*.properties文件。这些条目定义名称和相应的属性文件,用于转换以前缀“%”开头的插件字符串,如“%plugin.name” plugin.properties包含一行,如Java 在清单文件中使用外部捆绑包本地化路径,java,eclipse,plugins,properties,runtime,Java,Eclipse,Plugins,Properties,Runtime,MANIFEST.MF文件包含一个条目,用于定义在运行时加载哪些*.properties文件。这些条目定义名称和相应的属性文件,用于转换以前缀“%”开头的插件字符串,如“%plugin.name” plugin.properties包含一行,如 %plugin.name=Runtime Plugin 属性文件的名称也可以是application.properties,而不是我必须定义的名称 Bundle-Localization: application 当属性文件位于插件子目录“prope
%plugin.name=Runtime Plugin
属性文件的名称也可以是application.properties,而不是我必须定义的名称
Bundle-Localization: application
当属性文件位于插件子目录“properties”中时,我可以定义
Bundle-Localization: properties/application
我的问题: 我可以在插件之外定义一个包本地化路径吗
Bundle-Localization: ../properties/application
看起来,正在搜索属性文件路径的ManifestLocalization对象确实向ZipFile请求路径。ZipPath不支持此功能
如何解决此问题?不,您不能定义插件外部的路径。尽管除了包之外还考虑了片段 通常,捆绑包不绑定到磁盘上的某个位置,因此您无法真正定义像../properties这样的路径应该解析到哪里。例如,使用
BundleContext\installBundle(字符串位置,InputStream输入)
。location参数是bundle的标识,并且没有与之相关的语义。捆绑包的内容从输入流中读取。那么,包之外的路径意味着什么
Bundle-Localization: ../properties/application