我正在尝试迈出熟悉 OSGI 框架的第一步。 但是,我什至无法启动仅导出一个包的 bundle ,仅此而已。 框架显示的错误对我来说听起来很荒谬,因为我将其读为“为了启动您的 bundle ,我需要解析 openjsip.service.locationservice 包”。 但这个包来 self 的包! 无论如何,我认为我错了,但我无法捕获问题,有人可以帮助我吗?
ERROR: Bundle openjsip.locationservice [6] Error starting file:////tmp/locationservice-1.0.0-SNAPSHOT.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle openjsip.locationservice [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (&(osgi.wiring.package=openjsip.service.locationservice)(version>=1.0.0)))
org.osgi.framework.BundleException: Unresolved constraint in bundle openjsip.locationservice [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (&(osgi.wiring.package=openjsip.service.locationservice)(version>=1.0.0))
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:722)
这是我的 MANIFEST.MF:
Manifest-Version: 1.0
Bnd-LastModified: 1348338100498
Build-Jdk: 1.7.0_05
Built-By: devel
Bundle-ManifestVersion: 2
Bundle-Name: locationservice
Bundle-SymbolicName: openjsip.locationservice
Bundle-Version: 1.0.0.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: openjsip.service.locationservice;uses:="javax.sip.header
,javax.sip";version="1.0.0.SNAPSHOT"
Import-Package: javax.sip;version="[1.2,2)",javax.sip.header;version="[1
.2,2)"
Tool: Bnd-1.50.0
最佳答案
错误消息似乎与您发布的 MANIFEST.MF 不匹配。您是否有可能在中间重建了它?
错误消息表明您的 bundle 导入了包openjsip.service.locationservice
,并且该导入无法解析。但是,根据 list ,您只导入 javax.sip
和 javax.sip.header
。因此,此错误消息不可能来自发布的 bundle list 。
关于java - 尝试导出简单接口(interface)时 Unresolved 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546629/