如何解决矛盾的路径



我正在使用泽西核:1.8和JRS311:0.8。两个依赖性都需要。运行单元测试Intellj时,有时我会得到以下例外。安排依赖的顺序停止了例外,但是在tomcat 7.0.2启动时,总是会出现异常。重新安排LIB无法解决问题。

进一步挖掘它,我发现" Javax.ws.rs.path"类都是两个依赖关系。它已被包括在内,但不是作为依赖性。JRS311中的一种包含一种额外的方法,称为 limited()。类 URITEMPLATE 似乎总是在找到路径。

我尝试切换到库的不同版本,但没有成功。由于代码,我需要与两个库一起工作。

有人对如何解决此类问题有任何想法吗?

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.apache.cxf.jaxrs.JAXRSServerFactoryBean com.emailvision.nsapi.conf.NsApiSpringConf.restServerFactory(com.emailvision.nsapi.service.impl.NotificationServiceREST)] threw exception; nested exception is java.lang.NoSuchMethodError: javax.ws.rs.Path.limited()Z
 * at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:181)
 * at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:592)
 * ... 27 more
 * Caused by: java.lang.NoSuchMethodError: javax.ws.rs.Path.limited()Z
 * at org.apache.cxf.jaxrs.model.URITemplate.createTemplate(URITemplate.java:167)
 * at org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.createClassResourceInfo(JAXRSServiceFactoryBean.java:198)
 * at org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClassesFromBeans(JAXRSServiceFactoryBean.java:139)
 * at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setServiceBeans(JAXRSServerFactoryBean.java:272)

我能够找到以可预测方式工作的解决方案。我所做的是从包含limited()方法的jrs311:0.8依赖项下载javax.ws.rs.Path的来源。然后,我添加到SRC作为项目的一部分。由于我的项目的SRC具有比任何依赖关系更高的优先级,因此Java总是选择此类。

我自己不喜欢解决方案。我不得不写一份大型报告,以将我的行动审判给老板。考虑到更多,包装jrs311:0.8 JAR的人必须遇到与您不包括您不写的开源Java代码相同的问题。

最新更新