Использование неквалифицированного имени для groupId , совпадающего с artifactId (например, log4j
), является устаревшей практикой, которая не рекомендуется : это плохо вна уровне файловой системы он генерирует «беспорядок в хранилище», затрудняет поиск артефактов при просмотре хранилища (даже если большинство людей в настоящее время используют поисковую систему).
Рекомендуется включить ваше доменное имя в groupId , и я, конечно, не буду повторять его в artifactId (насколько мне известно, Spring - НЕ
Вот что я использую:
Parent (pom)
- groupId: org.companyname.projectname
- artifactId: root
- версия: xxx
например: org.companyname.projectname: root-1.0.0.pom
SubParent (pom)
- groupId: org.companyname.projectname
- artifactId: subcategory-parent
- версия: xxx
например: org.companyname.projectname: subcategory-parent-1.0.0.pom
Модуль (jar)
- groupId: org.companyname.projectname
- artifactId:modulename
- версия: xxx
например: org.companyname.projectname: modulename-1.0.0.jar
И я также использую соглашения для <description>
Elemen• иметь четкий обзор при сборке реактора.Вот пример проекта для домашних животных:
$ mvn compile
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Personal Sandbox - Samples - Parent POM
[INFO] Personal Sandbox - Samples - EJB3 and Cargo Sample
[INFO] Personal Sandbox - Tools - Parent POM
[INFO] Personal Sandbox - Tools - Shared Verification Resources
[INFO] Personal Sandbox - Samples - EJB3 and Cargo Sample - Services
[INFO] Personal Sandbox - Samples - EJB3 and Cargo Sample - Functests
[INFO] Sandbox Externals POM
Это в значительной степени вдохновлено тем, как Винсент Массол организовывал большие сборки, как он это делал с XWiki или Cargo.