在Felix OSGi包中包含依赖项

时间:2016-10-23 08:57:20

标签: java maven osgi apache-felix osgi-bundle

我是OSGi的新手。我正在使用Apache Felix。我已经构建了一个bundle,它具有依赖性。当我尝试使用start file:/path/to/bundle.jar启动捆绑时,它会给我这个错误。

  

org.osgi.framework.BundleException:无法解析lk.ucsc.research.BellyRunner [20](R 20.0):缺少要求[lk.ucsc.research.BellyRunner [20](R 20.0)] osgi.wiring 。包; (osgi.wiring.package = lk.ucsc.research.bellygraph)未解决的要求:[[lk.ucsc.research.BellyRunner [20](R 20.0)] osgi.wiring.package; (osgi.wiring.package = lk.ucsc.research.bellygraph)]

我的Maven项目结构如下,

|-Belly
  |-BellyGraph
  |-BellyRunner OSGi( dependencies: BellyGraph )

我也尝试添加<Embed-Dependency>BellyGraph</Embed-Dependency>。但它没有用。请帮我搞定。可以找到完整的POM here on Github

1 个答案:

答案 0 :(得分:1)

该错误只是说您的OSGi运行配置缺少导出lk.ucsc.research.bellygraph包的捆绑包。 BellyRunner软件包需要此软件包来解决。

我认为开始使用maven学习OSGi并不是一个好主意,因为许多重要的细节和概念只是被&#34; mvn install&#34;隐藏起来。魔法。如果我在你身边,我会从OSGi enRoute教程开始:http://enroute.osgi.org/qs/050-start.html

之后,您可以在maven中探索如何执行此操作:http://enroute.osgi.org/tutorial_eval/050-start.html