Упакуйте весеннее загрузочное приложение с легкой банкой для запуска в качестве демона

Использование Spring-boot 1.5.6 с Java 8 на Debian jessie, созданном с помощью Maven.

Сгенерированная банка представляет собой большую толстую банку 70Mo, использование в качестве демона работает нормально.

Как создать более легкую банку с файлами jar зависимостей в папке lib где-то?

Вот текущий pom.xml, который я использую:

https://gist.github.com/ebuildy/46e42c06d344707c823d0320d78eea1c


person Thomas Decaux    schedule 14.09.2017    source источник


Ответы (1)


Приносим извинения за неточный и неправильный ответ: по умолчанию плагин spring-boot-maven не учитывает «предоставлено», но включает все зависимости.

Я пробовал связанное «тонкое» расширение, но оно мне не помогло.

Возвращаясь к моему исходному сообщению, идея была правильной: используйте PropertiesLauncher и пусть он указывает на некоторые каталоги, в которых находятся ваши JAR-файлы.

  1. Нам нужно запустить этот лаунчер. Этого можно добиться, например, с помощью типа макета «DIR» в плагине spring-boot-maven.

  2. Кроме того, необходимо предоставить файл конфигурации «loader.properties», который содержит свойство, указывающее на каталог (или каталоги), содержащий JAR-файлы.

  3. Если мы хотим предоставить исполняемый JAR-файл Spring Boot, который не содержит каких-либо или только некоторых зависимостей, нам нужно исключить нежелательные. Существует несколько решений (используйте готовые возможности, чтобы исключить их по одному, измените исполняемый файл JAR после его создания, улучшите плагин spring-boot-maven для фильтрации по области действия). Я выбрал последнее решение.

Полный список см. в связанном GIST.

person Florian Fray    schedule 14.09.2017
comment
Спасибо, я добавил pom.xml, используя уже предоставленную область, но все еще толстую банку, может быть, я забыл конфигурацию? - person Thomas Decaux; 14.09.2017