0

我目前已经设置了 jboss 7。尝试使用 CXF 设置 JAX-RS 但是我收到此错误:

13:43:29,166 WARN  [org.jboss.weld.Bootstrap] WELD-001208 Warning when validating vfs:/C:/Users/mtatlong/Documents/jboss-as-7.1.1.Final/standalone/deployments/java_cxf_rest_test.war/WEB-INF/beans.xml@15 against xsd. schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/beans/spring-beans.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>.
13:43:29,182 ERROR [org.jboss.msc.service.fail] MSC00001: Failed to start service jboss.deployment.unit."java_cxf_rest_test.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."java_cxf_rest_test.war".PARSE: Failed to process phase PARSE of deployment "java_cxf_rest_test.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_45]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_45]

我有这个 beans.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxrs="http://cxf.apache.org/jaxrs"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:security="http://www.springframework.org/schema/security"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
    <jaxrs:server id="bookservice" address="/">
        <jaxrs:serviceBeans>
            <ref bean="customerservice" />
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <bean class="demo.jaxrs.service.SecurityExceptionMapper" />
        </jaxrs:providers>
    </jaxrs:server>
    <bean id="customerservice" class="demo.jaxrs.service.CustomerServiceImpl" />


</beans>

谁能帮我。

4

1 回答 1

0

不确定,但这似乎有效:

<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">

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

于 2013-08-15T06:58:05.027 回答