在同一个项目中需要不同版本的依赖项

时间:2015-08-22 18:08:18

标签: java maven tomcat

我有一个项目,它有两个必需的依赖项。这些依赖关系依次具有apache cxf依赖关系。依赖关系A使用apache cxf版本2.4.0,其中依赖关系B使用apache cxf版本3.1.0。

因为版本之间的类已经更改,所以使用一个或另一个会导致ClassNotFoundException。

对它们是什么的一点描述,依赖关系A是一些旧的SOAP Web服务的客户端jar。这包括来自wsdl2java的自动生成的文件。依赖关系B是新的REST Web服务的客户端jar。

主项目使用Maven来处理依赖关系,是一场战争,并且在tomcat 7上。

我有什么想法可以尝试让它正常工作?我已经尝试使REST客户端成为一个带有依赖关系的jar,并通过Tomcat的通用类加载器将其带入,但没有运气。

修改

在审查了我引入的依赖项后,我不能简单地更新依赖项,因为我无法控制引入的某些依赖项。我需要更改这些jar正在做什么,哪些不起作用

1 个答案:

答案 0 :(得分:2)

使用两个版本的相同依赖项永远不是一个好主意,因为它可能会在您的项目中产生差异。 理想情况下,您应该使用最新版本,然后使旧代码与最新版本兼容