如何在特定的POM依赖项上导入特定的类?

时间:2019-04-24 14:42:06

标签: java maven intellij-idea

我正在丰富具有不同WebService调用的客户端模块。

该模块实现WS API,并且大多数API共享一个公共的EnterpriseMessageHeader对象。

在运行时遇到了我遇到的问题,在其中找不到特定的方法。 当我查看代码并将ctrl + hover悬停在EnterpriseMessageHeader对象上时,它表明它引用了错误的POM依赖关系。而不是引用第三依赖性。它引用第一个。

由于所有API都共享一个公共的groupID,有没有办法强制将引用/导入设置为比GroupID更低的级别?

如果我将依赖关系移到列表的顶部。运行时错误消失,Ctrl + Hover指向正确的依赖项...

这现在搞乱了我拥有的其他WS实现。

1 个答案:

答案 0 :(得分:0)

因此,您有两个不同的依赖项,它们都具有一个具有相同全限定名的类(包名和groupId可能是重合的,但不一定是这种情况-真正的问题是两个依赖项,无论它们的GAV是多少可能包含一个同名的类。

这个问题很棘手。 Java不允许您同时加载类和代码,它们可能会以意外的方式中断。

您可以尝试使用Maven Shade插件重命名依赖项中的一个软件包,但是通常最好避免使用两个依赖项中的一个。

相关问题