2011-12-15 100 views
3

我想知道这是什么意思:Maven版本标签

<version>${artifactId.version}</version> 

这是否意味着该版本始终是当前的一个?

回答

3

这意味着版本由<artifactId.version>属性定义:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <artifactId.version>3.0.0.1</artifactId.version> 
</properties> 

在该示例中,版本将是3.0.0.1

请注意,也可以使用<project.build.sourceEncoding>并根据您的项目需要设置相应的版本。

+0

因此,这基本上意味着如果我们将$ {artifactId.version}放入我们的依赖版本中,我们总是会有一个当前版本?而且我们也必须知道这些属性是否存在于依赖关系中? – ilija

+0

@ilija:不,你仍然需要修改属性。该属性应该在声明依赖关系而不是依赖关系本身的POM中。 – JBert

+0

@ilija BTW:如果你想在你的父POM中指定工件版本,你也可以使用''dependencyManagement>'标签。有关更多信息,请参阅http://maven.apache.org/pom.html#Dependency_Management。 – JBert

1

您可能会在{artifactId.version}之前缺少$标志。

这意味着你使用这个artifactId.version变量来确定你的工件的版本。

+0

因此,如果我有依赖关系,并且我想要获取版本标记中的版本:$ {artifactId.version}。我应该怎么做? – ilija

1

这意味着你可以指定Maven以外的版本,这是一个常见的情况。

实施例:

mvn <operation> [params...] -DartifactId.version=1.2.3