我们使用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不是我们的选择。
答案 0 :(得分:0)
您可以使用versions:resolve-ranges
强制解决条款中的版本问题。只需在主构建步骤之前立即将其作为单独的构建步骤运行。可以使用-Dexcludes=groupId:artifactId:type:classifier:version
将此目标配置为排除某些工件(某些版本/分类器)。
然而,最佳做法是首先避免使用版本范围,以获得完全可重现的版本。因为否则构建可以简单地通过例如外部依赖的新错误释放来破坏。