2

目前正在使用 Spring 开发 CXF。它返回此警告:

10:40:38,492 WARN  [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] (MSC service thread 1-2)
 Ignored XML validation warning: org.xml.sax.SAXParseException: schema_reference.4:
 Failed to read schema document 'http://cxf.apache.org/schemas/jaxrs.xsd', because 
1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.

然后它在启动时返回此错误:

10:40:38,571 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-2) 
Context initialization failed: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:
 Line 14 in XML document from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml] 
is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c:
The matching wildcard is strict, but no declaration can be found for element 'jaxrs:server'.

这是我的 beans.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jaxrs="http://cxf.apache.org/jaxrs"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
         http://cxf.apache.org/jaxrs
         http://cxf.apache.org/schemas/jaxrs.xsd">

    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <jaxrs:server id="myOrder" address="/">
            <jaxrs:servicebeans>
                <ref bean="orderInfoImpl">
                </ref>
            </jaxrs:servicebeans>

        </jaxrs:server>
        <bean id="orderInfoImpl" class="com.example.rest.OrderInfoImpl">
        </bean>

    <context:component-scan base-package="simpleclient, com.example.rest" />

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/WEB-INF/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
</beans>
4

2 回答 2

1

能够通过添加正确的罐子来解决这个问题,显然,jboss 7 有它自己的现成 cxf 罐子,但是我在我的应用程序中使用的罐子是不同的版本。我刚刚匹配了罐子,它工作了,也排除了 classpath/pom.xml 中的码头。

于 2013-08-16T05:41:34.687 回答
0

我开始在 Apache Karaf 中遇到这个错误 - 当我从 Oracle Java 6 升级到 7 时开始发生。回到 6 并且错误停止了,但没有进一步调查。

于 2014-03-28T12:31:19.440 回答