我是否需要为每个jar创建单独的OSGi包

时间:2015-04-29 07:44:43

标签: maven log4j osgi log4j2 osgi-bundle

我想为log4j2创建一个OSGi包。我需要使用一些额外的jar和log4j2,例如log4j2-jcl,log4j2-jul,log4j2-web等。我想澄清下面列出的一些关于此的混淆。 然而,这不是log4j2特有的,我将此视为一般程序。

  1. 我是否需要为每个jar创建单独的OSGi包,还是可以为所有jar使用一个包? (什么是最佳做法)
  2. 我如何知道OSGi捆绑包是否已经可用于这些罐子? (因此我不需要重新创建捆绑包,可以使用现有的捆绑包)
  3. 我对OSGi很陌生,所以任何人都可以澄清这些没有必要针对log4j2的内容。

    谢谢!

2 个答案:

答案 0 :(得分:3)

  
      
  1. 我是否需要为每个jar创建单独的OSGi包,还是可以为所有jar使用一个包? (什么是最佳做法)
  2.   

如果可能的话,我建议每个JAR创建一个捆绑包。这为您提供了最大的灵活性,并确保每个JAR都经过适当的设计。

  
      
  1. 我如何知道OSGi捆绑包是否已经可用于这些罐子? (这样我就不需要重新创建捆绑包,可以使用   现有的)
  2.   

看看Manifest文件。

如果它包含OSGi元数据 - >这是一个OSGi包。

如果它不包含OSGi元数据 - >它不是OSGi包。

我认为Log4J JAR已经提供了OSGi元数据( - >它们已经是捆绑包),但我没有仔细检查过。

答案 1 :(得分:0)

只是一个建议 在进行任何捆绑之前,请检查它是否存在。 https://jpm4j.org/#!/search?q=log4j2

另外,我推荐slf4j