【发布时间】:2018-01-19 15:41:09
【问题描述】:
我有一个 pom 父级,我们在其中声明所有变量,例如时间戳 我有一个包含 2 个模块的 maven 项目,我为每个模块创建工件。看这张图片 :
创建的工件没有相同的时间戳值! 我需要为所有创建的工件在版本中设置相同的时间戳值。
请帮忙
【问题讨论】:
我有一个 pom 父级,我们在其中声明所有变量,例如时间戳 我有一个包含 2 个模块的 maven 项目,我为每个模块创建工件。看这张图片 :
创建的工件没有相同的时间戳值! 我需要为所有创建的工件在版本中设置相同的时间戳值。
请帮忙
【问题讨论】:
您可以在父级中声明一个自定义属性,其值为:
<myCustomProperty>${maven.build.timestamp}</myCustomProperty>
...并在所有孩子中使用此值(而不是在每个孩子中重新评估构建时间戳)。
【讨论】:
${maven.build.timestamp},这当然是不同的;不同之处在于 myCustomProperty 在子模块构建开始时不会被覆盖。
我已经通过 jenkins 管道找到了这个问题的解决方案 通过像这样在 maven 命令中传递时间戳:
//Get the timestamp
def now = new Date()
def timestamp = now.format("yyyyMMdd-HHmmss",TimeZone.getTimeZone('GMT+2'))
$ mvn clean install -Dcurrent.time=${timestamp}
我刚刚找到了这个链接:build-helper-maven-plugin
【讨论】: