这与使用 maven 目标更新 pom 依赖项无关。我已经把它整理好了。所以我负责创建、打包和维护常用的实用程序。这些通用实用程序依次被组织中的所有团队使用。问题是使用这些实用程序的团队不会更新依赖项,除非这是最后的手段。我们希望他们使用我们常用实用程序的最新版本,除非很少。现在我遇到了 mojohaus 的这个Maven 版本插件,我认为它通过使用两个目标来满足我的需要 -versions:update-properties
和versions:use-latest-releases
. 它符合我的目的,除了两件事:
我看不到从更新依赖项/属性中排除某些 groupid:artifactid 的方法
我们真的希望这是一个强制性的事情(可能是测试执行的一部分 - 这主要是为了测试自动化实用程序)而不是一个 maven 目标。因为如果它是一个 Maven 目标,则需要单独调用它,因此对于团队来说是可选的。
我们知道强制更新到最新版本可能会导致缺陷重现性出现一些问题,但我们愿意承担这个风险。我们的实用程序是真正的测试产品。
对此的任何指导/帮助表示赞赏。
编辑:我们已经使用 Maven 目标运行我们的测试clean install
。所以他们使用现有的 pom。我们希望在测试运行之前更新依赖关系。如果可能,还希望将更改提交到源代码控制(bitbucket)。我们使用 Jenkins 进行测试设置,但团队也在本地机器上运行多个测试。
编辑:找到#1 的答案。该插件提供排除组和工件 ID 的正则表达式。使用标签excludes
和excludesList