指定Maven Shade中的冲突时哪个jar获胜

时间:2016-06-01 18:20:38

标签: maven jar maven-shade-plugin

我正在尝试使用Maven Shade插件来构建uber-jar。我的两个依赖项包括在同一个包中具有相同名称的类,它们具有不同的实现。我知道这是一个坏主意,但我无法控制这些依赖。我知道,如果某个班级出现在A.jarB.jar中,那么B.jar中的版本就是我要使用的版本。

有没有办法告诉Shade插件在发生冲突时jar使用哪个?

我目前正在手动构建冲突列表,并使用过滤器将其从A.jar中排除。这应该有效,但是Shade选择正确的那个会更简单,并且将来会证明。

依赖项是一种传递依赖项,因此在“POM中B之前列出A”并不明显。如果您明确列出依赖项,它可能会有效,尽管我无法找到有关重复时它如何选择的任何信息。

0 个答案:

没有答案