Использовать внешний путь Bundle-Localization в файле MANIFEST - PullRequest
1 голос
/ 27 апреля 2009

Файл MANIFEST.MF содержит запись, определяющую, какие файлы * .properties загружаются во время выполнения. Эти записи определяют имя и соответствующий файл свойств, который используется для перевода строк плагина, которые начинаются с префикса "%", например, "% plugin.name"

Bundle-Localization: plugin

plugin.properties чем строка типа

%plugin.name=Runtime Plugin

файл свойств также может иметь имя application.properties, чем я должен определить

Bundle-Localization: application

Когда файлы свойств находятся внутри подкаталога плагина "properties", я могу определить

Bundle-Localization: properties/application

Мой вопрос: Могу ли я определить путь Bundle-Localization, который находится за пределами плагина, например

Bundle-Localization: ../properties/application

Похоже, что объект ManifestLocalization, который ищет путь к файлу свойств, действительно запрашивает путь у ZipFile. И ZipPath не поддерживает эту функцию.

Как я могу решить эту проблему?

1 Ответ

3 голосов
/ 29 апреля 2009

Нет, вы не можете определить путь, который находится за пределами плагина. Хотя фрагменты рассматриваются в дополнение к пачке.

Как правило, пакеты не привязаны к определенному месту на диске, поэтому вы не можете точно определить, где должен быть путь, например ../properties Рассмотрим, например, комплект, установленный с помощью BundleContext#installBundle(String location, InputStream input). Параметр location является идентификатором пакета, и к нему не привязана семантика. Содержимое пакета считывается из входного потока. Что тогда будет означать путь вне связки?

...