2016-07-26 1585 views
7

我是maven的新手,我对artifactIdname之间的区别感到困惑。artifactId和name在maven POM中的区别

我知道的是artifactId是你正在创建的工件的名称。我知道artifactIdgroupId一起用于唯一标识工件。那么POM中的<name>目的是什么。就像我从一个网站得到的pom,有一个artifactId,同时还有一个<name>

<groupId>org.sonatype.mavenbook.multi</groupId> 
<artifactId>simple-parent</artifactId> 
<packaging>pom</packaging> 
<version>1.0</version> 
<name>Multi Chapter Simple Parent Project</name> 
+0

这些答案帮助你?如果是这样,你可以[接受答案](// stackoverflow.com/help/someone-answers)。 –

回答

2

groupIdartifactIdversion形式的复合唯一标识符(或coordinate)这个项目。这些值中的每一个都具有相当严格的命名约定,允许组织良好的组,工件和版本。

name只是该项目的可读名称,并不需要是唯一的或符合相同的约定(因此它可以包含空格和其他字符)。

+1

+1 - 我讨厌简单地说明它是什么的文档:Artifact ID是标识Artifact的ID。更好的是为什么?为什么有Artifact ID?为什么团队创建它?发生了什么问题,以及Artifact ID如何成为解决方案? – codeputer

6

您确定artifactId有助于识别项目。

name只是一个人类可读的“友好”的名字。基本设置不是必需的。

Maven documentation

的artifactId:在一般的artifactId是,该项目的真实姓名。尽管groupId非常重要,但组内人员很少会提及讨论中的groupId ......它与groupId一起创建一个将此项目与世界上其他项目分开的关键(至少应该:)) 。与groupId一起,artifactId完全定义了存储库中的工件生活区。

相关问题