目前正在使用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>
答案 0 :(得分:1)
能够通过添加正确的罐子来解决这个问题,显然,jboss 7拥有现成的cxf罐子,但是我在我的应用程序中使用的罐子是不同的版本。我只是匹配罐子并且它有效,也在classpath / pom.xml中排除了jetty。
答案 1 :(得分:0)
我开始在Apache Karaf中遇到这个错误 - 当我从Oracle Java 6升级到7时开始发生。回到6并且错误停止了,但是还没有进行任何调查。