我是maven的新手,我对artifactId
和name
之间的区别感到困惑。
我所知道的是artifactId
是您正在创建的工件的名称。我知道artifactId
和groupId
一起用于唯一标识工件。那么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 :(得分:10)
你是正确的artifactId
有助于识别项目。
name
只是一个人类可读的“友好”名称。基本设置不需要它。
artifactId :artifactId通常是项目所知的名称。虽然groupId很重要,但是组内的人很少会在讨论中提及groupId ...它与groupId一起创建了一个键,将该项目与世界上的其他项目分开(至少应该:)) 。与groupId一起,artifactId完全定义了工件库中的工件生命区。
答案 1 :(得分:6)
groupId
,artifactId
和version
形成此项目的复合唯一标识符(或coordinate)。这些值中的每一个都具有相当严格的命名约定,允许组织良好的组,工件和版本。
name
只是项目的可读名称,不需要是唯一的或符合相同的约定(因此它可以包含空格和其他字符)。
答案 2 :(得分:1)