我正在尝试将Jersey Web服务引入到其中包含其他Web服务(例如Apache CXF)的Web应用程序中 . 所以我将Jersey servlet添加到我的web.xml中 .
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.spring.container.servlet.SpringServlet
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.freedomoss.crowdcontrol.api</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
在intiliazation期间,这个servlet提供了有关冲突的URL模板的以下错误...
INFO: Registering Spring bean, restApiService, of type com.mycompany.ws.RestApiService as a root resource class
Mar 12, 2015 11:07:42 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Conflicting URI templates. The URI template / for root resource class com.mycompany.ws.RestApiService and the URI template / transform to the same regular expression (/.*)?
当我查看这个RestApiService的代码时,我看到..
@Path("/")
@Service
public class RestApiService extends AbstractRestService {
由于这个其他Web服务正在应用程序的其他地方使用,我不能改变'Path'的值,尽管这样做确实解决了我的问题
我还可以做些什么?我可以告诉Jersey Servlet不要将“其他Web服务”注册为“根资源类”吗?
我的目标是让Jersey与其他Web服务一起工作,而不是以任何方式改变后者 .