Maven依赖别名

时间:2017-06-06 14:58:31

标签: maven

我刚刚注意到我的战争包含woodstox-core-asl-4.4.1.jarwoodstox-core-5.0.2.jar。它们是同一个库的两个不同版本,但库更改了groupId和artifactId。此外,我的战争中的两个模块都包含在我的战争中作为传递依赖项。

我知道我可以使用exclusions删除旧版本的库但在这种情况下我还应该明确地“包含”新版本,以防该模块单独使用(不是另一个包括woodstox-core-5.0.2.jar)。

我不喜欢这个解决方案。有没有办法声明woodstox-corewoodstox-core-asl的别名,以便Maven只包含其中一个广告?

类似的问题影响旧的Spring 2.x,它发布了一体化工件和较小的分离工件。但是我认为最常见的问题是与更改其groupId和/或artifactId的工件相关的问题。

1 个答案:

答案 0 :(得分:0)

没有办法做到这一点。 Maven不理解别名的概念。如果确实如此,那将打开通往另一种依赖地狱的大门。

您所描述的内容 - 为所有需要它的依赖项添加<exclusion/> <dependency/>,然后为重命名的工件显式添加新的<dependency/>是唯一的你现在可以做到这一点的方式。