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

Java 同一项目中需要不同版本的依赖项,java,maven,tomcat,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处理依赖关系,是一个war,并且

我有一个项目,它有两个必需的依赖项。这些依赖项依次具有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处理依赖关系,是一个war,并且在Tomcat7上

我能做些什么来让它正常工作呢?我已经尝试过让REST客户机成为一个带有依赖项的jar,并通过Tomcat的公共类加载器将其引入,但没有成功

编辑


在检查了我引入的依赖项之后,我不能简单地更新依赖项,因为我无法控制引入的某些依赖项。我需要更改那些JAR正在执行的操作,但这将不起作用。

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

这是我认为下一步需要做的,但我试图避免,因为我个人不确定更改依赖关系会如何影响我已经拥有的自动生成文件。也许我只是想了很多。我将在一分钟+1的时间内用相关信息编辑这个问题。虽然您可以通过依赖插件之类的方法来解决问题,但maven正试图在这里提供帮助。无论是MSach的解决方案,还是通过配置文件进行单独构建(如果绝对必要)。+1我希望我能说这就是我所做的,但还有其他一些政治因素在妨碍我。不管怎样,我觉得这条路线最适合这个问题,如果它像我的问题一样简单的话。。。