Java 使用apache cxf添加多个端点/服务类

Java 使用apache cxf添加多个端点/服务类,java,rest,cxf,wadl,Java,Rest,Cxf,Wadl,我正在尝试使用ApacheCXF(非spring)实现RESTWebService。我已经配置了web.xml并添加了一个端点地址,它可以正常工作,但现在我想再添加一个端点地址或一个服务类,我无法这样做,因为第二个端点地址会覆盖第一个端点地址。 我的web.xml是这样的 <servlet> <display-name>CXFNonSpringJaxrsServlet</display-name> <servlet-nam

我正在尝试使用ApacheCXF(非spring)实现RESTWebService。我已经配置了web.xml并添加了一个端点地址,它可以正常工作,但现在我想再添加一个端点地址或一个服务类,我无法这样做,因为第二个端点地址会覆盖第一个端点地址。 我的web.xml是这样的

<servlet>
        <display-name>CXFNonSpringJaxrsServlet</display-name>
        <servlet-name>CXFNonSpringJaxrsServlet</servlet-name>
        <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
        <init-param>
            <param-name>jaxrs.serviceClasses</param-name>
            <param-value>abc</param-value>
        </init-param>
            <init-param>
                <param-name>jaxrs.address</param-name>
                <param-value>/abc</param-value>
            </init-param>
         <load-on-startup>1</load-on-startup>
    </servlet>



        <servlet>
        <display-name>CXFNonSpringJaxrsServlet</display-name>
        <servlet-name>CXFNonSpringJaxrsServlet</servlet-name>
        <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
        <init-param>
            <param-name>jaxrs.serviceClasses</param-name>
            <param-value>xyz</param-value>
        </init-param>
        <init-param>
            <param-name>jaxrs.address</param-name>
            <param-value>/xyz</param-value>
        </init-param>
         <load-on-startup>1</load-on-startup>
    </servlet>

CXFNonSpringJaxrsServlet
CXFNonSpringJaxrsServlet
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
jaxrs.serviceClasses
abc
jaxrs地址
/abc
1.
CXFNonSpringJaxrsServlet
CXFNonSpringJaxrsServlet
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
jaxrs.serviceClasses
xyz
jaxrs地址
/xyz
1.

您可以这样做以拥有多个端点:

web.xml

<servlet>
<servlet-name>s1</servlet-name>

<servlet-class>
    org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
</servlet-class>
<init-param>
<param-name>jaxrs.serviceClasses</param-name>
<!-- Multiple resource classes separated with space -->
<param-value>
com.gsdev.Resource1 com.gsdev.Resource2
com.ttdev.bs.BookSelectionsResource
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
现在您有了不同的端点

http://host:port/webapp/services/endpoint1/
http://host:port/webapp/services/endpoint2/

谢谢,非常好,我使用的是apache文档,但它是错误的!未提及空格分隔参数。这是:org.apache.cxf.systest.jaxrs.BookStore1、org.apache.cxf.systest.jaxrs.BookStore2
http://host:port/webapp/services/endpoint1/
http://host:port/webapp/services/endpoint2/