Исключить неиспользованные части зависимостей из jar (Maven) - PullRequest
14 голосов
/ 05 августа 2011

У нас есть небольшой проект с некоторыми тяжелыми зависимостями (например, Spring), из которых мы используем только мелкие детали. Поэтому JAR, который мы получаем при упаковке со всеми зависимостями, весит несколько мегабайт, даже для двухклассного сервера. Это кажется ненужным.

Есть ли способ ограничить сборку JAR фактически используемыми (классными) файлами?

Ответы [ 2 ]

10 голосов
/ 05 августа 2011

Вы можете использовать maven-shade-plugin , чтобы создать Jar-с-зависимостями (ваш проект и зависимости объединены в один большой jar-файл), одновременно ограничивая классы или пакеты, добавляемые в этот jar-файл.,См. включает / исключает страницу для справки.

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

2 голосов
/ 05 августа 2011

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

...