2016-10-11 11 views
0

Я знаю, что с помощью традиционной команды «gradle build» я могу создать то, что Spring boot вызывает «исполняемый банку».Как создать исполняемый uber jar для весенней загрузки с градиентом?

Эта баня содержит все зависимости jar, необходимые внутри папки библиотеки jar.

Мне нужно, чтобы вместо копирования ящиков зависимостей внутри папки lib внутри исполняемого jar я хотел бы получить полный баннер uber, который вместо того, чтобы иметь свои зависимости как банки внутри папки lib, мне нужно их извлечь как пакеты/классы.

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

+1

Мне интересно, почему вы хотели бы сделать это? – luboskrnac

+0

Существует некоторый материал OSGi, который я использую с Spring, и, поскольку Spring не поддерживала поддержку OSGi после того, как DM был убит, единственный способ использовать его - взорвать банки и ограничить его использование объявленным пакетом. Кроме того, я знаю, как расширять банки с помощью Maven, но я никогда не делал этого с Gradle, я не могу заставить его работать, даже если вы используете теневой плагин. –

ответ

1

Смотрите shadow Gradle плагин, он делает то, что вы хотите

+0

Hi Lance, как я уже упоминал, я уже пытался использовать тень плагин, но не работает, возможно, есть что-то особенное, что мне нужно добавить, чтобы оно работало правильно, но я не знаю, что. В настоящее время теневой плагин только расширяет ядро ​​с пружинным ботинком, но оставляет другие банки в папке lib, и я не знаю почему. У вас есть рабочий пример, что могло бы заставить его работать? –