Если вы выпускаете в Maven central, тогда вашим первым вариантом должна быть публикация вашего артефакта только с его кодом. Это не должно быть проблемой, так как типичный пользователь, загружающий из Maven central, будет систематически использовать инструмент Maven, что избавит пользователя от сложности.
Если артефакт не предназначен для выполнения со всеми зависимостями, так что пользователь просто запустит его после загрузки, у него будет мало преимуществ для публикации толстого фляги с множеством недостатков.
Если вы публикуете «библиотеку» с кодом для использования в других приложениях:
- Один артефакт с его POM позволяет пользователям выбирать, что они включают в ваши переходные зависимости
- Один артефакт позволяет легко разрешать конфликты (легко определить, из какой банки сделан данный класс)
- Один артефакт позволяет вашим пользователям видеть реальное дерево зависимостей