首页 > 解决方案 > Maven 如何从满足特定条件的 Artifactory 获取依赖项?

问题描述

对于依赖于 Artifactory 中经常更新的内部开发组件的 Maven 构建,我正在努力理解必须是常见用例的解决方案。

我所依赖的内部工件每天构建多次,但不是使用 -SNAPSHOT 模式。相反,是这样的:1.0.buildNumber。

在发布到 Artifactory 的该工件的各种构建中(每天约 100 个),其中一些符合某些测试标准并在工件中标有自定义属性,表示它们已满足该测试标准,我们称该属性为“完全测试” . 这是在工件最初发布后确定和注释的,它只是“更新”工件以添加 Artifactory 属性。

我的问题是:我如何指示 Maven 获取最新的“完全测试”工件?今天,依赖的版本被静态定义为 pom 文件中的属性,并且依赖部分使用该属性变量作为依赖的“版本”字段。

使用 Artifactory API 确定这一点的方法很繁琐,可以在构建之前立即带外使用,然后我可以在 maven 命令行上使用 -D 覆盖 pom 文件属性中定义的静态定义版本,但是一定会有更好的办法。

我怀疑我的公司会很快改变他们发布工件的方式,所以希望这可以在客户端解决。

标签: mavenartifactory

解决方案


也许您可以尝试使用矩阵参数来指定“fullyTested”-仅在分辨率(存储库 URL)中的工件。

链接:https ://www.jfrog.com/confluence/display/RTF/Using+Properties+in+Deployment+and+Resolution


推荐阅读