我是OSGi的新手。我正在使用Apache Felix。我已经构建了一个捆绑包,并且具有依赖性。当我尝试使用启动文件:/path/to/bundle启动捆绑包时.jar
它会给我这个错误。
org . OSGi . framework . bundle exception:无法解析lk . ucsc . research . belly runner[20](R 20.0):缺失需求[lk . ucsc . research . belly runner[20](R 20.0)]OSGi . wiring . package;(OSGi . wiring . package = lk . ucsc . research . belly graph)未解决的需求:[[lk . ucsc . research . belly runner[20](R 20.0)]OSGi . wiring . package;(OSGi . wiring . package = lk . ucsc . research . belly graph)]
我的Maven项目结构如下,
|-Belly
|-BellyGraph
|-BellyRunner OSGi( dependencies: BellyGraph )
我尝试添加
该错误只是说您的OSGi运行配置缺少一个导出< code > lk . ucsc . research . belly graph 包的包。这个包需要由BellyRunner bundle来解析。
我认为使用maven开始学习OSGi不是一个好主意,因为许多重要的细节和概念只是被“mvn install”魔术所掩盖。如果我在你里面,我会从OSGi enRoute教程开始:http://enroute.osgi.org/qs/050-start.html
之后,您可以探索如何在maven中执行此操作:http://enroute.osgi.org/tutorial_eval/050-start.html
目前,要为Pax考试设置配置,我发现需要包含所有依赖项。比如说 但是由于依赖于,这感觉像是重复的信息。Pax Exam是否可能在不明确添加的情况下发现需要?
简单的OSGi应用程序与包内的依赖关系。 我在玩karaf。我从写一个简单的Rest应用程序开始。https://github.com/YaroslavTir/osgi-jersey-hibertate/tree/stackoverflow/examples/karaf-rest-core 我将karaf示例作为backbond,使用restendpoint运行我的第一个包非常简单,但是当我添加m
我知道这个答案:Pax考试:提供具有所有依赖项的捆绑包,但当我必须包含作为我项目外部捆绑包一部分的捆绑包时,感觉我做错了什么。 这是我得到的错误: 下面是我的pax考试的配置代码: 所以我的问题是:为什么我会遇到关于未解决约束的错误,我是否必须包括外部捆绑包,以及我需要做什么才能让我的测试运行?
以前部署的JDOM的OSGi包究竟是如何解决这些相同的依赖关系的?它们从来没有在捆绑进口包中列出?此外,如果我试图将这些作为项目的依赖项包含并嵌入它们,只会加剧问题。救命啊!
在感觉自己已经掌握了如何使用OSGi之后,我尝试向我的应用程序添加第三方依赖,特别是log4j2,该应用程序使用ApacheFelix并与maven捆绑插件捆绑。不幸的是,我似乎陷入了依赖地狱。 我尝试过使用许多maven捆绑包策略,如导入包,嵌入依赖,wrapImportPackage,Embed-Transitive,以及设置特定的版本号,仅举几例。以下是我的pom在这个插件中的样子: 我觉得
我创建了一个依赖于SLF4J的捆绑包,因此使用Logback来实现OSGI。这一切都捆绑起来并安装正常,但是当我开始捆绑时,我得到以下异常: org.osgi.framework.BundleException: 無法解析 com.felix.test [20](R 20.0): missing requirements [com.felix.test [20](R 20.0)] osgi.wir