hue*_*eck 7 eclipse osgi slf4j equinox tycho
这是我的配置:
我们正在开发一个OSGi应用程序,并希望包含日志记录.我决定使用slf4j + logback.
我们使用Eclipse作为IDE和Tycho从Eclipse IDE(如Manifest Editor等)中受益.
所以我尝试了以下方法:
使用以下Manifest.mf创建了一个新插件:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Createcommand
Bundle-SymbolicName: de.hswt.oms.ws.wsr.createcommand
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: de.hswt.oms.ws.command.wsr,
de.hswt.oms.ws.ds.core.data.impl,
org.slf4j
Service-Component: OSGI-INF/component.xml
Run Code Online (Sandbox Code Playgroud)
现在,当我转到Run - > Run Configurations - > OSGi Framework并选择我的Bundle并单击"Add Required plugins"时,将选择100多个Bundles,我会收到很多错误和异常.
所以我想出了一个来自现有Jars的新插件,其中包括以下三个罐子:
如果我手动创建一个新的运行配置(不点击"添加必需的捆绑",它按预期工作,但只要我点击"添加必需的捆绑"我回到100多个捆绑包有很多错误(一些Jetty的东西为例...)
所以我的问题是:如何在我的OSGi应用程序中启用logback和slf4j并在eclipse中使用它并正确配置它?
如果您需要更多信息,请随时询问.
AFAIK在当前官方Logback/SLF4J jar中的bundle清单头中存在一些问题.但是,您只需要以下三个罐子/捆绑包.基本功能不需要其他功能.
在Eclipse中,我们将捆绑包放在Orbit中,以便在项目中重复使用.我们对我们认为有益的清单标题应用了一些修改.例如,我们将实际的SLF4J绑定作为片段提供,以避免原始SLF4J API jar的循环依赖.
以下是捆绑包的下载链接:
您可能还需要:
请注意,"添加必需的插件"不够智能.它可能会选择太多或太少的插件.有时,服务API在一个捆绑包中提供,但实际的服务实现在第二个捆绑包中提供.它可能不会选择该捆绑.
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |