将RESTEasy 2.0.1.GA升级到2.3.0.GA org.jboss.RESTEasy.plugins.spring.SpringContextLoaderListener异常

将RESTEasy 2.0.1.GA升级到2.3.0.GA org.jboss.RESTEasy.plugins.spring.SpringContextLoaderListener异常,spring,resteasy,Spring,Resteasy,我试图将使用REASTEasy 2.0.1.GA的web应用程序更新为2.3.0.GA或更高版本。我在加载org.jboss.resteasy.plugins.spring.SpringContextLoaderListener时遇到问题 我猜失败不会加载我的Springbean,因此我遇到了org.springframework.orm.jpa.vendor.hibernatejbavendorapter找不到类的问题。该类位于spring-orm-3.0.6.RELEASE.jar的类路径中

我试图将使用REASTEasy 2.0.1.GA的web应用程序更新为2.3.0.GA或更高版本。我在加载org.jboss.resteasy.plugins.spring.SpringContextLoaderListener时遇到问题

我猜失败不会加载我的Springbean,因此我遇到了org.springframework.orm.jpa.vendor.hibernatejbavendorapter找不到类的问题。该类位于spring-orm-3.0.6.RELEASE.jar的类路径中,因此我认为还有其他问题。有什么想法吗?下面是我的web.xml和堆栈跟踪

Tomcat 7启动:

web.xml:


RestEasy SpringContextListener存在问题。它不处理属性占位符-${…}请参阅

有${jpa.vendor.adapter},应该用一些类定义替换它

您必须用默认的org.springframework.web.context.ContextLoaderListener替换RestEasy SpringContextListener,并在spring XML配置中如下声明bean:

<bean class="org.jboss.resteasy.plugins.spring.SpringBeanProcessorServletAware"/>
那么它应该会起作用

//Listeners and servlets only
 <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>   
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
    </listener>
    <!-- newly added -->
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>
 <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>    
 <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/consumer/rest-api/*</url-pattern>
    </servlet-mapping>   
Caused by: java.lang.ClassNotFoundException: ${jpa.vendor.adapter}
<bean class="org.jboss.resteasy.plugins.spring.SpringBeanProcessorServletAware"/>