Для официальных репозиториев Maven выпускают ли толстые банки? - PullRequest
0 голосов
/ 04 мая 2018

Я хочу развернуть приложение Java в репозитории Maven, и я не уверен, должен ли я освобождать жирные jar или jar без зависимостей.

Я проверил пример junit (https://mvnrepository.com/artifact/junit/junit/4.12), и у них есть файл jar, который составляет всего 307 КБ.

Люди выпускают жир jar или jar без зависимостей?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Приложения обычно не публикуются в репозиториях Maven, так как вы обычно не добавляете полные приложения в качестве зависимости от вашего проекта. Для библиотек не имеет смысла включать их зависимости в jar, если они доступны, хотя maven централизовал их сам, потому что Maven может просто загрузить их и, как упоминает Эрнест Кивеле в своем ответе, обеспечивает большую гибкость для последующих проектов.

0 голосов
/ 04 мая 2018

Если вы выпускаете в Maven central, тогда вашим первым вариантом должна быть публикация вашего артефакта только с его кодом. Это не должно быть проблемой, так как типичный пользователь, загружающий из Maven central, будет систематически использовать инструмент Maven, что избавит пользователя от сложности.

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

Если вы публикуете «библиотеку» с кодом для использования в других приложениях:

  • Один артефакт с его POM позволяет пользователям выбирать, что они включают в ваши переходные зависимости
  • Один артефакт позволяет легко разрешать конфликты (легко определить, из какой банки сделан данный класс)
  • Один артефакт позволяет вашим пользователям видеть реальное дерево зависимостей
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...