繁体   English   中英

不使用Spring的带有CXF的JAX-RS

[英]JAX-RS with CXF without using Spring

我想使用CXF运行一个简单的Web应用程序,而不是使用spring。 我能够使用Jersey来实现Servlet,现在我正在尝试使用CXF。 以下是我的web.xml。

    <!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Output Socket</display-name>
    <servlet>
        <servlet-name>JAXServlet</servlet-name>
        <servlet-class>
            org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
        </servlet-class>
        <init-param>
            <param-name>jaxrs.serviceClasses</param-name>
            <param-value>org.myCompany.servlet</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>JAXServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

在pom.xml中,我具有以下依赖性。

        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>2.6.1</version>
        </dependency>

我不确定这种配置。

            <init-param>
                <param-name>jaxrs.serviceClasses</param-name>
                <param-value>org.myCompany.servlet</param-value>
            </init-param>

一旦我在雄猫中部署了war文件,我就会遇到以下异常。

java.lang.ClassNotFoundException:org.myCompany.servlet

我在这里做错什么吗? 任何帮助,将不胜感激

您确实需要以下配置:

<init-param>
       <param-name>jaxrs.serviceClasses</param-name>
       <param-value>org.myCompany.servlet</param-value>
</init-param>

在这里您必须提及您的服务类别。 错误提示它找不到类org.myCompany.servlet 因此,请确保您的服务类具有正确的软件包和名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM