Apache camel camel restlet和org.restlet.jee.ext.spring版本冲突?

Apache camel camel restlet和org.restlet.jee.ext.spring版本冲突?,apache-camel,restlet,Apache Camel,Restlet,我正在尝试创建一个要部署在Glassfish 4上的webapp。 以 创建maven项目 将依赖项添加到pom.xml 将servlet配置放入web.xml 将bean定义放入context.xml中 我的问题是它不能在glassfish下作为webapp运行。使用mvn jetty:run它运行正常,但在glassfish中运行不正常 我怀疑camel restlet和org.restlet.jee.ext.sprint之间存在Spring版本冲突 camel restlet v1

我正在尝试创建一个要部署在Glassfish 4上的webapp。 以

  • 创建maven项目
  • 将依赖项添加到
    pom.xml
  • 将servlet配置放入
    web.xml
  • 将bean定义放入context.xml中
我的问题是它不能在glassfish下作为webapp运行。使用mvn jetty:run它运行正常,但在glassfish中运行不正常

我怀疑camel restlet和org.restlet.jee.ext.sprint之间存在Spring版本冲突

  • camel restlet v1.13.0+
    取决于
    spring v3.2.8。发行版
  • org.restlet.jee.ext.sprint v2.2.2
    取决于
    spring v3.2.6.版本
早期版本有类似的差异,如

  • camel restlet v1.12.3+
    取决于
    spring v3.2.5。发行版
因此,我找不到彼此匹配的
camel-restlet
ext.spring
版本

如何使camel.apache.org中的示例在glassfish下工作

p、 美国谷歌公司已经这样做了。github和其他资源中的示例已经尝试过

所以。下面是在glassfish中运行的webapp的server.log输出。正如我所说,同样的代码在jetty中运行良好

SpringCamelContext     DEBUG Route: RS_RestletDemo >>> EventDrivenConsumerRoute[Endpoint[/demo/(id)?restletMethods=GET] -> Channel[Transform(Simple: Request type : ${header.CamelHttpMethod} and ID : ${header.id})]]
SpringCamelContext     DEBUG Starting consumer (order: 1001) on route: RS_RestletDemo
DefaultManagementAgent DEBUG Registered MBean with ObjectName: org.apache.camel:context=camel-1-1,type=consumers,name=RestletConsumer(0x40cb4833)
RestletConsumer        DEBUG Starting consumer: Consumer[/demo/(id)?restletMethods=GET]
RestletComponent       DEBUG Setting parameters: [] to server: org.restlet.Server@8528a1b
RestletComponent       DEBUG Added server: null:80
RestletComponent       DEBUG Added method based router: org.apache.camel.component.restlet.MethodBasedRouter@62e8f6e1
RestletComponent       DEBUG Attached restlet uriPattern: /demo/{id} method: GET
RestletComponent       DEBUG Attached methodRouter uriPattern: /demo/{id}
RestletComponent       DEBUG Started methodRouter uriPattern: /demo/{id}
SpringCamelContext     INFO  Route: RS_RestletDemo started and consuming from: Endpoint[/demo/(id)?restletMethods=GET]
GEThttp://localhost:8080/camel-restlet/rs/demo/123

HTTP状态500-内部服务器错误

javax.servlet.ServletException: Servlet.init() for servlet RestletServlet threw exception
root cause

java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    org/restlet/ext/servlet/internal/ServletWarClient.<init>(Lorg/restlet/Context;Ljavax/servlet/ServletContext;)V @35: putfield
  Reason:
    Type 'org/restlet/ext/servlet/internal/ServletWarClientHelper' (current frame, stack[1]) is not assignable to 'org/restlet/engine/connector/ClientHelper'
  Current Frame:
    bci: @35
    flags: { }
    locals: { 'org/restlet/ext/servlet/internal/ServletWarClient', 'org/restlet/Context', 'javax/servlet/ServletContext' }
    stack: { 'org/restlet/ext/servlet/internal/ServletWarClient', 'org/restlet/ext/servlet/internal/ServletWarClientHelper' }
  Bytecode:
    0000000: 2a2b b600 0101 c000 02b7 0003 2ab6 0004
    0000010: b200 05b9 0006 0200 572a bb00 0759 2a2c
    0000020: b700 08b5 0009 b1       
javax.servlet.ServletException:servlet的servlet.init()引发异常
根本原因
java.lang.VerifyError:操作数堆栈上的类型错误
例外情况详情:
地点:
org/restlet/ext/servlet/internal/ServletWarClient.(Lorg/restlet/Context;Ljavax/servlet/ServletContext;)V@35:putfield
原因:
类型“org/restlet/ext/servlet/internal/ServletWarClientHelper”(当前帧,堆栈[1])不可分配给“org/restlet/engine/connector/ClientHelper”
当前帧:
密件抄送:@35
标志:{}
局部变量:{'org/restlet/ext/servlet/internal/ServletWarClient','org/restlet/Context','javax/servlet/ServletContext'}
堆栈:{'org/restlet/ext/servlet/internal/ServletWarClient','org/restlet/ext/servlet/internal/ServletWarClientHelper'}
字节码:
0000000:2a2b b600 0101 c000 02b7 0003 2ab6 0004
0000010:b200 05b9 0006 0200 572a bb00 0759 2a2c
0000020:b700 08b5 0009 b1
你能告诉我我做错了什么吗

我尝试覆盖spring版本,不包括在pom.xml等中导出依赖项。。不走运

更新。固定的

给面临类似问题的人的提示 我用一根绳子把它修好了 -使用
org.restlet.ext.spring v2.1.7
camel restlet v2.13.2
-将org.restlet.ext.spring移动到顶部 -从
pom.xml
移动

现在它在
glassfish 3,4
中充当
war
和独立
jetty
有关工作版本的示例,请访问