Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheKaraf2.3.0中的javax.servlet.http包_Java_Osgi_Cxf_Apache Karaf_Osgi Bundle - Fatal编程技术网

ApacheKaraf2.3.0中的javax.servlet.http包

ApacheKaraf2.3.0中的javax.servlet.http包,java,osgi,cxf,apache-karaf,osgi-bundle,Java,Osgi,Cxf,Apache Karaf,Osgi Bundle,我已经安装了ApacheKaraf2.3.0。我的一个需要安装在其中的bundle使用了javax.servlet.httppackage中的类。当我尝试安装捆绑包时,它会显示错误消息: karaf@root> ERROR: Bundle com.groupgti.esb.purge [207] Error starting mvn:com.groupgti.esb/esb.purge/1.0.0 (org.osgi.framework.BundleException: Unresolve

我已经安装了ApacheKaraf2.3.0。我的一个需要安装在其中的bundle使用了
javax.servlet.http
package中的类。当我尝试安装捆绑包时,它会显示错误消息:

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,而我的bundle至少需要2.6.0。是否有解决方法或其他方法将geronimo servlet更新到与我的捆绑包兼容的更高版本?(这是系统包)

其他信息:

CXF Version: 2.7.0
Camel Version 2.10.2
编辑:

我忘了提那件重要的事。我还将CXF更新为2.7.0版本,CXF是引入Servlet 3.0依赖性的版本。这是依赖关系树中的图形:


也许会给你一些关于如何解决这个问题的想法?我能想到的唯一一件事就是回到cxf2.6.x

您真的需要使用geronimo servlet规范吗?尝试将其替换为以下内容:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>

javax.servlet
javax.servlet-api
3.0.1
假如

您真的需要使用geronimo servlet规范吗?尝试将其替换为以下内容:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>

javax.servlet
javax.servlet-api
3.0.1
假如

如果您的捆绑包确实需要比2.5更新的东西,那么在Karaf 2.3.0上运行它可能会有问题。Karaf2.3使用基于Servlet2.5的Jetty 7.6.7。它不支持任何更新的基于Servlet3的API等。您可以升级ServletAPI捆绑包,它可能会工作,但如果您的捆绑包/应用程序使用Servlet3的任何功能,它可能不会工作


Karaf3将升级到Jetty8.1,它支持Servlet3。Karaf社区将非常感谢您对测试和发布的任何帮助。:-)

如果您的包确实需要比2.5更新的东西,那么在Karaf 2.3.0上运行它可能会有问题。Karaf2.3使用基于Servlet2.5的Jetty 7.6.7。它不支持任何更新的基于Servlet3的API等。您可以升级ServletAPI捆绑包,它可能会工作,但如果您的捆绑包/应用程序使用Servlet3的任何功能,它可能不会工作


Karaf3将升级到Jetty8.1,它支持Servlet3。Karaf社区将非常感谢您对测试和发布的任何帮助。:-)

这是行不通的,因为servlet捆绑包目前应该由pax web提供,Karaf的2.3使用pax web 1.1.x,它仍然绑定到servlet 2.5,Karaf 3.0将支持pax web 2.1甚至3.0,完全支持servlet 3.0是行不通的,由于servlet捆绑包此时应该由pax web提供,并且Karaf的2.3使用pax web 1.1.x,它仍然绑定到servlet 2.5,Karaf 3.0将支持pax web 2.1,甚至3.0,并提供完整的servlet 3.0支持。有很多选项。可能最好是去看电影users@cxf.apache.org列表您可以排除jetty和servlet api DEP,并将DEP添加到您想要/需要的版本中。你可以让maven bundle插件在生成清单时使用更广泛的范围,等等……有很多选项。可能最好是去看电影users@cxf.apache.org列表您可以排除jetty和servlet api DEP,并将DEP添加到您想要/需要的版本中。你可以让maven bundle插件在生成清单时使用更广泛的范围,等等。。。。