从POM文件中的依赖项中排除包含限定符的版本

时间:2016-05-18 15:02:26

标签: maven-3 autotest

我们使用maven来运行和构建我们的自动测试。 我们还有不同的项目,依赖于其他自动测试项目。

例如,我们有Project1发布版本(1.2.2)。 Project2依赖于Project1,如:[1.2.0,1.3.0)

当有人对Project1进行一些更改时,我们会部署1.2.3-dev来在我们的环境中对其进行测试。但在这种情况下,Project2将使用1.2.3-dev作为最新版本。 我们需要让Project2永远不要使用依赖于“dev”限定符。所以它应该忽略所有使用“dev”限定符的构建。

有什么办法吗?

现在使用SNAPSHOT不是我们的选择。

1 个答案:

答案 0 :(得分:0)

您可以使用versions:resolve-ranges强制解决条款中的版本问题。只需在主构建步骤之前立即将其作为单独的构建步骤运行。可以使用-Dexcludes=groupId:artifactId:type:classifier:version将此目标配置为排除某些工件(某些版本/分类器)。

然而,最佳做法是首先避免使用版本范围,以获得完全可重现的版本。因为否则构建可以简单地通过例如外部依赖的新错误释放来破坏。