我已经安装了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。