1

我正在处理一个有一些构建奇怪的合同......他们正在使用 maven,但 pom 文件实际上是由构建脚本编辑的,以用 jenkins 构建号替换版本号,然后使用相同的数字替换此项目将在构建时使用的其他内部项目的版本。我是 maven 的新手,但我知道这感觉不对。

我可以传入版本号,但将相同的属性放在依赖块中似乎不起作用。

我知道 maven 的道是严肃的事情,请理解这是一个非常短期的合同,构建系统不在我的工作说明书中 - 我只是想去一个源代码控制文件未被编辑的地方运行构建的简单行为。

4

1 回答 1

0

您绝对可以使用版本值定义 Maven 属性,并在依赖项声明中引用它。而且,使用 Maven 属性,可以使用“-D”命令行选项将它们传递给 Maven。

我不确定Maven运行的时间是否允许它改变依赖版本。我认为(所以,我不是 100% 确定)依赖管理将在处理命令行选项之前进行管理。

我会尝试定义一个包含依赖版本的 Maven 属性,并在依赖声明中适当地引用 Maven 属性。然后,在运行 mvn 时,提供所需的版本作为属性值。那将是最有可能的方法。

于 2013-04-01T23:55:48.923 回答