2015-04-29 4 views
0

Я хочу создать пакет OSGi для log4j2. Мне нужно использовать некоторые дополнительные банки вместе с log4j2, такие как log4j2-jcl, log4j2-jul, log4j2-web и т. Д. Я хочу прояснить некоторые путаницы, перечисленные ниже об этом. Однако это не относится к log4j2. Я прошу об этом как об общей процедуре.Нужно ли создавать отдельные пакеты OSGi для каждой банки

  1. Нужно ли создавать отдельные пакеты OSGi для каждой банки или я могу использовать один комплект для всех банок? (Что является лучшей практикой)
  2. Как узнать, доступны ли пакеты для OSGi для этих банок? (Так что мне не нужно создавать пучки, можно использовать существующие).

Я совершенно новичок в OSGi, поэтому кто-нибудь может прояснить эти вещи, которые не нужны конкретным для log4j2.

Спасибо!

ответ

3
  1. Мне нужно создать отдельные пучки OSGi для каждой баночки или я могу использовать один пакет для всех баночек ли? (Что такое лучшая практика)

Я рекомендую создать один пакет на баночку, если это возможно. Это дает вам максимальную гибкость и гарантирует, что каждый JAR правильно спроектирован.

  1. Как узнать, доступны ли пакеты для OSGi для этих банок? (Так что мне не нужно заново создавать пучки, можно использовать существующие)

Просто взгляните на файл манифеста.

Если в нем содержатся метаданные OSGi -> это комплект OSGi.

Если в нем нет метаданных OSGi -> это не комплект OSGi.

Я думаю, что Log4J JAR уже предоставляют метаданные OSGi (-> они уже являются пакетами), но я не проверял дважды.

+0

PŪCE, спасибо за ответ, что действительно полезно. Я проверил MANIFEST.MF внутри META-INF из банок log4j2. Они предоставляют метаданные OSGi. – Grant

0

просто рекомендация.
Перед тем, как сделать какой-либо комплект, проверьте, существует ли он. https://jpm4j.org/#!/search?q=log4j2

также, я рекомендую SLF4J

+0

jpm4j.org отлично подходит для получения информации о комплекте. Но позаботьтесь, вы найдете там также библиотеки, которые еще не являются комплектом OSGi. –

Смежные вопросы