Получи случайную криптовалюту за регистрацию!

​​Затронув тему библиотек, вкратце расскажу, что такое groupI | Java кабала

​​Затронув тему библиотек, вкратце расскажу, что такое groupId, artifactId и version, и для чего это нужно.

Это конвенции, которые принято соблюдать при публикации java библиотек. Эти три компонента служат для того, чтобы можно было однозначно идентифицировать библиотеку на просторах интернета. Т.е. эти три компонента в совокупности являются уникальным идентификатором библиотеки.

groupId - это "идентификатор группы". Но что же на самом деле это такое? По факту это ваш домен. Например, если у вас есть организация mycompany и у вас есть собственный домен, например mycompany.ru, тогда вы можете использовать его в качестве groupId, только в зеркальном виде - ru.mycompany, что, собственно, логично, т.к. это помогает сортировать артифакты по уровню домена.
Что если у вас нет собственного домена? Maven central разрешает использовать адреса ваших github аккаунтов. Да, это валидно, если вы его подтвердите. Например, если мой гитхаб github.com/Kabal163, тогда groupId будет выглядить так: com.github.kabal163.
Помимо вашего домена, в группу могут входить дополнительные части, которые помогают идентифицировать, например, направление разработки или продукт. Опять таки, пример: у меня есть компания, и в ней несколько направлний разработки. В каждом направлении у меня есть множество библиотек. Чтобы идентифицировать их, я могу сделать так:
ru.mycompany.security
ru.mycompany.web
ru.mycompany.reactive
Таким образом, мы уже гарантируем, что никто в мире не сможет загрузить в публичный репозиторий библиотеку с таким же groupId как у вас (если только раньше этот домен не принадлежал кому-то еще).

artifactId - это непосредственно название вашей библиотеки, вашего артефакта. Например:
commons-lang3
lombok
spring-web

version - это версия вашей библиоткей. Конвеция по версии выглядит следующим образом: 0.1.12
На самом деле это не обязательно и вы можете писать тут что угодно, но это гуд практиз. Про версию подробнее напишу в следующем посте.
Каждый раз, когда вы изменяете вашу библиотеку, вносите исправления или добавляете новые фичи, у вас будет меняться версия. И вы каждый раз будете заново публиковать вашу библиотеку, только с новой версией.

Таким образом, мы всегда имеем уникальный идентификатор библиотеки, по которому можем однозначно идентифицировать ее среди миллионов других.