Maven最佳实践:包括快照发布的时间戳吗?

时间:2009-06-19 19:05:08

标签: java maven-2

我最近将Maven快照构建功能添加到项目中,配置为在部署的工件上使用唯一的时间戳版本。但是,对于这是否是正确的做法存在一些混淆(有问题的快照被部署到公共回购中,而不仅仅是公司之类的实体):有人说它在尝试使用快照时会导致问题。

所以:鉴于Maven有多少是基于惯例的,并且遵循了最佳实践,我希望有一些指导方针可供选择。

(注意:我略微编辑了标题 - 我特别感兴趣的是在公共快照版本中包含唯一时间戳(通过部署选项)的好处(或缺少它);如果是的话,是否要使用时间戳。包括在内,虽然这显然是一些相关的问题)

2 个答案:

答案 0 :(得分:1)

通常,您应始终针对-SNAPSHOT依赖项进行构建。但是,如果产品包含-SNAPSHOT依赖项,则应避免发布产品。如果您使用Maven Release Plug-in自动发布,它将检查以确保您没有使用发布插件或依赖项。

但这并不总是可行的。如果我需要基于快照构建发布某些东西,那就是当我使用显式时间戳/内部版本号而不是-SNAPSHOT版本命名方案时。

您可以使用Versions Maven Plugin自动执行此操作。它提供了在POM中锁定和解锁快照版本的目标。

答案 1 :(得分:0)

快照的重点是让某人使用最新版本的代码。你为什么要使用快照五个版本?

考虑到这一点,工件名称中的时间戳会给你带来什么?

我已经使用Maven大约5年了。我从未见过名字中带有时间戳的快照jar。