Подтвердить что ты не робот

Разница в artifactId и имя в maven POM

Я новичок в maven, и я смущен различием между artifactId и name.

Я знаю, что artifactId - это имя создаваемого вами артефакта. Я знаю, что artifactId вместе с groupId используется для уникального определения артефакта. Итак, что такое <name> цель в POM. например, ниже, чем я получил с сайта, есть artifactId и в то же время a <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>
4b9b3361

Ответ 1

Вы правы, что artifactId помогает идентифицировать проект.

name является просто понятным для человека "дружественным" именем. Это не требуется для базовой настройки.

Из документации Maven,

artifactId: ArtifactId - это, как правило, имя, известное проекту. Хотя groupId важен, люди в группе редко упоминают groupId в обсуждении... Он вместе с groupId создает ключ, который отделяет этот проект от любого другого проекта в мире (по крайней мере, он должен:)), Наряду с groupId, artifactId полностью определяет жизненные пространства артефакта в репозитории.

Ответ 2

groupId, artifactId и version формируют составной уникальный идентификатор (или координату) для этого проекта. Каждое из этих значений имеет довольно жесткое соглашение об именах, которое допускает хорошо организованные группы, артефакты и версии.

name - это просто читаемое имя для проекта, и оно не обязательно должно быть уникальным или соответствовать тем же соглашениям (поэтому оно может содержать пробелы и другие символы).