【发布时间】:2012-10-28 22:45:43
【问题描述】:
我已经安装了 Apache Karaf 2.3.0。我的其中一个需要安装的包使用来自javax.servlet.http 包的类。当我尝试安装捆绑包时,它给了我错误消息:
karaf@root> ERROR: Bundle com.groupgti.esb.purge [207] Error starting mvn:com.groupgti.esb/esb.purge/1.0.0 (org.osgi.framework.BundleException: Unresolved constraint in b
undle com.groupgti.esb.purge [207]: Unable to resolve 207.0: missing requirement [207.0] osgi.wiring.package; (osgi.wiring.package=com.groupgti.esb.cxf.interceptors) [cau
sed by: Unable to resolve 212.0: missing requirement [212.0] osgi.wiring.package; (&(osgi.wiring.package=javax.servlet.http)(version>=2.6.0)(!(version>=3.0.0)))])
org.osgi.framework.BundleException: Unresolved constraint in bundle com.groupgti.esb.purge [207]: Unable to resolve 207.0: missing requirement [207.0] osgi.wiring.package
; (osgi.wiring.package=com.groupgti.esb.cxf.interceptors) [caused by: Unable to resolve 212.0: missing requirement [212.0] osgi.wiring.package; (&(osgi.wiring.package=jav
ax.servlet.http)(version>=2.6.0)(!(version>=3.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:662)
javax.servlet.http 包是从 mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1.2 系统包导出的。问题是它的版本是 2.5 但我的包至少需要 2.6.0。是否有解决方法或将 geronimo-servlet 更新到与我的包兼容的更高版本? (这是系统捆绑包)。
其他信息:
CXF Version: 2.7.0
Camel Version 2.10.2
编辑:
我忘了提重要的事情。我还将 CXF 更新为 2.7.0 版本,而 CXF 是引入 Servlet 3.0 依赖项的版本。这是依赖树的图:
也许会给你一些关于如何解决这个问题的想法?我唯一能想到的就是回到 CXF 2.6.x。
【问题讨论】:
标签: java osgi cxf apache-karaf osgi-bundle