我有一个 pom 文件,其中一些依赖项的版本号依赖于 pom 文件设置中指定的项目版本属性。我可以通过命令行覆盖它吗?如果是这样,怎么做?
长话短说:
我们目前正在将我们的项目过渡到 maven,但我们还没有完全做到。有多个模块仍未使用 maven 构建,因此是我们项目中的依赖项(它们通过 ant 构建到 jars 中)。发布后,我们希望构建所有这些 jar,并包含与父项目相同的版本号。对于发布,执行两个步骤(直到我们可以使用 maven 获取所有内容)
- 这些罐子是用正确的发行版本 (12.12.4.0) 在 ant 中构建的。
- maven 发布插件用于将项目部署到我们的工件存储库。
在第二步中,命令行参数用于指定版本:
mvn release:prepare -DreleaseVersion=12.12.4.0 -DdevelopmentVersion=12.12.4.1-SNAPSHOT -Dtag=iv-12.12.4.0
我希望使用指定的版本更新 pom 文件。但是,运行此命令时,仍使用 pom 文件中的版本 (12.12.4.0-SNAPSHOT)。这使“检查快照的依赖项和插件”步骤失败,我需要解析我的 jars,这些 jars 仍然具有 maven 版本属性中使用的 12.12.4.0-SNAPSHOT 版本。
这使我想到了如何覆盖它以使版本解析为命令行上指定的原始问题。可以让我过去的其他问题是:如何允许 maven 发布插件在此检查之前更新 pom 文件?如何跳过快照检查(不可取)
我可以在 pom 文件中创建一个可以覆盖的属性,但是我必须在 pom 文件中的两个位置维护版本号。
想法?