maven中的属性 archetypeVersion有什么用?

What is the use of the property archetypeVersion in maven?

我正在通过使用 maven-archetype-quickstart 创建一个简单的项目来学习 Maven。我找到了一个名为 archetypeVersion 的 属性,它的默认值为 RELEASE。我想知道这个 属性 的目的以及除了 RELEASE.

之外它还可以包含哪些其他可能的值

Maven 有一个唯一的项目标识符,它基本上是三件事的组合

  1. 神器
  2. 版本

因此,archetypeVersion 是您在创建项目时进入版本的值。

例如 group:artifact:version 的组合将是

com.test.example:myexample:1.0-SNAPSHOT

大多数项目按照惯例使用以下版本控制系统

  1. 快照
  2. RELEASE-CANDIDATE 或 RC
  3. 发布

这个版本的值可以是任何值,上面的值是通常的约定。

SNAPSHOT 通常表示您正在处理的最新版本的代码,通常仅经过单元测试,有时甚至不是。

RELEASE-CANDIDATE 通常是出给用户做验收测试的东西。

RELEASE 如您所料,是可以在 PROD 中部署的最终版本。

所以如果你是运行下面的命令

mvn archetype:generate                                  \
  -DarchetypeGroupId=<archetype-groupId>                \
  -DarchetypeArtifactId=<archetype-artifactId>          \
  -DarchetypeVersion=<archetype-version>                \
  -DgroupId=<my.groupid>                                \
  -DartifactId=<my-artifactId>

您必须将您希望项目拥有的版本放入 <archetype-version>