我有一个项目,这是在Java中6,这取决于项目B,这也是在Java中6覆盖依赖
除了这些编译编译,我有两个项目的依赖, C-6和C-7。 C-6是用Java编写6项目C,而C-7被编译在Java 7中
项目B具有相关项目C.在默认情况下,为项目B引用项目C-7,这意味着它使用项目C的Java 7版本。有很多不同的项目引用项目B,它们都是用Java 7编译的,所以这里没有问题。
但现在我有自己的项目中,这是用Java编写6.现在,我想我的覆盖B.依赖的依赖的问题是,即使我在项目中排除C-7,并添加依赖于C-6,当我在项目B中调用方法时,它将从C-7中获得类。因此,我的应用程序崩溃,因为它不兼容。
我该如何解决这个问题?我如何告诉我的依赖项B使用不同于通常依赖的依赖项C?请记住,很多项目都使用项目B作为依赖关系,所以我不希望更改任何涉及更改其他项目的任何内容。
我理解这一点。但是,如果在项目B上使用exclude和include标记来包含/排除C-6,则项目A可以访问C-6功能,但是当您在项目B上调用方法时,它将调用C-7方法。我在帖子中也解释了这一点。 – Joetjah
你能解释一点,因为我有点困惑。据我了解:你有A - > B - > C7,并且你想A - > B - > C6。所以,如果你做A→C6&A→B x→C7,那么这应该从类路径中排除C7并将C6放在类路径上。 ( - >是一个依赖项,x->是一个排除项)。所以,排除依赖于B,而不是A,这是我认为你的问题所指出的。 –
不完全。你说明我想要什么是正确的。但问题是,我不能排除B中的任何东西,除非我可以用(默认)配置文件或类似的东西做一些事情。关键是,我正在研究项目A.还有一些团队正在研究W,X,Y,Z ......,它们在项目A的依赖关系层次结构(也就是客户端)方面都是一样的。所以我可以'只是在项目B中排除,因为这会打破所有其他应用程序。 – Joetjah