добавить внешнюю папку в classpath пакета OSGI - PullRequest
2 голосов
/ 02 мая 2011

Мне нужно добавить поддержку L10N в комплект OSGI.Я хотел бы поместить все свойства ресурса в папку conf / resource вне пакета (чтобы сделать их видимыми из любого пакета).

Можно ли добавить папку в путь к классам пакета OSGI?*

Upd: Я видел, что OSGI предлагает добавить пакеты ресурсов внутри фрагментов.

1 Ответ

1 голос
/ 05 мая 2011

Вы можете попробовать одно из следующих:

  1. Поместите ресурсы l10n в их собственный пакет и используйте обычный механизм зависимости OSGi для доступа к ним из других пакетов. В конце концов, именно так и предполагалось использовать OSGi.
  2. Поместите ресурсы l10n в их собственную директорию, и пусть пакеты прочитают их как файлы. Это означает, что ресурсы l10n не могут быть развернуты как пакет, и что у вас могут возникнуть проблемы с разрешениями, связанные с вводом / выводом.
  3. Если только один пакет требует 110 ресурсов, ресурсы действительно могут быть объединены в фрагменты. Фрагменты - это пакеты, которые прикреплены к пакету хоста. Вы можете иметь один фрагментный пакет на язык / локаль, и все они будут использовать использующий пакет в качестве хоста.
  4. Если вам нужно только локализовать заголовки OSGi, это очень просто; Я сомневаюсь, что это то, что вам нужно.

Решение 1 - это определенно способ пойти и остаться в духе OSGi. Решение 2 ужасно, если вы спросите меня. Решение 3 хорошо, если каждый пучок может быть локализован независимо.

...