我能够获得OSGi蓝图在Karaf中工作,但我不明白如何在Apache Felix中使用它,或者我的问题也可以定义为如何在纯OSGi中使用OSGi蓝图? / p>
我在https://github.com/PhilAndrew/sbt-osgi-felix-akka-blueprint-camel使用https://github.com/doolse/sbt-osgi-felix做了一个例子,其中Akka正在使用,但Blueprint和Camel还没有工作。
这个问题可能会有所帮助Is Apache Aries running in Felix?
答案 0 :(得分:1)
Apache Karaf也在felix上运行。因此,在大多数情况下,您只需要安装正确的软件包,如果您遇到软件包使用约束违规,可能需要进行必要的系统软件包导出。
检查karaf安装的内容并尝试执行相同的操作。
答案 1 :(得分:1)
它没有启动蓝图,因为您的软件包的代码实际上并不依赖于蓝图中的任何类,因此您需要添加" Require-Bundle"标题清单:
requireBundle := Seq("org.apache.aries.blueprint")
或将需要启动的包添加到run:
的osgiDependencies中osgiDependencies in run := bundleReqs("org.apache.aries.blueprint.core",
"org.apache.aries.proxy")