Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Autodiscover JAX-RS resources with CXF in a Spring application

Is it possible with Apache CXF (2.7.0) to automatically discover JAX-RS resources in the classpath? That is, classes annotated with @Path.

I am using CXF in a Spring application and I have to manually declare the resources with the following XML, even if the resources are successfully discovered by Spring <context:component-scan ...>.

<jaxrs:server id="myService" address="/myService">
    <jaxrs:serviceBeans>
        <ref bean="myResource1" />
        <ref bean="myResource2" />
        <ref bean="myResource3" />
    </jaxrs:serviceBeans>
</jaxrs:server>

I would like to avoid it (as I can do with other JAX-RS implementations such as resteasy) because in my case it is harder to maintain, and it forces me to declare my bean dependencies in the Spring XML configuration file.

like image 441
Guido Avatar asked Nov 22 '12 22:11

Guido


Video Answer


1 Answers

Tested and working in cxf 3.0.4.

<jaxrs:server address="/" basePackages="a.b.c"/>

Dont forget to mention the cxf-servlet in web.xml

like image 53
jaks Avatar answered Oct 02 '22 18:10

jaks