Maven:如何使用依赖项中的最新版本(不是来自所有存储库)

时间:2011-07-28 11:32:57

标签: maven-2 maven dependencies version maven-3

假设我有以下工件。为简单起见,我将省略组。

A:1.0
A:2.0
A:3.0
B:1.0 depends on A:1.0
C:1.0 depends on A:2.0
D:1.0 depends on B:1.0, C:1.0

我希望D使用从它的依赖项继承的最新版本的A(不是来自存储库)。在这种情况下,它是2.0。

如何使用Maven 2或Maven 3进行此操作?

1 个答案:

答案 0 :(得分:2)

通常maven采用最接近root的版本,在你的情况下,maven(2/3)应该自动获取A:2.0(因为它们同样很远)

另一种选择是使用版本范围,例如A:[2.0,]但这将从存储库中获取最新版本。 (它将包括SNAPSHOT版本,这使得当前的maven3对版本范围来说非常不可用)

(IMHO)正确的方法是使用带有依赖管理标记的master-pom,并声明A:2.0应该用于所有子项目。