Maven: Jar с зависимостями VS JAR без зависимостей

В настоящее время я работаю в проекте Java, и мы используем maven для создания окончательного jar. Как мы все знаем, есть два способа создания jar-файлов: один jar с зависимостями и jar без зависимостей. В последнем случае нам также необходимо добавить зависимые файлы jar в путь к классам.

В принципе оба могут работать, лично я предпочитаю один jar с зависимостями, но в команде проекта решили использовать отдельный jar без зависимостей. Итак, я хотел бы знать, какой выбор лучше?

1 ответ

На этот вопрос нет ответа, так как это зависит от того, что вам нужно сделать.

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

Если вы вместо этого пишете полное приложение, упакованное в банку, я имею в виду что-то с MainClass которые могут быть выполнены с java -jar myjarтогда совместное использование зависимостей облегчит распространение.

Учтите, что, например, если вы пишете веб-приложение, которое будет упаковано как WAR, оно обычно поставляется с зависимостями.

Другие вопросы по тегам