Spring Boot - упакуйте классы приложений как банку в BOOT-INF / lib

Я использую Spring Boot 1.4.1 с Gradle 3.1. Модуль, к которому применен плагин Spring Boot, создает свою собственную банку с задачей jar, а также имеет «толстую» банку, созданную с помощью bootRepackage. Однако классы из этого модуля находятся в BOOT-INF / classes, но я бы хотел, чтобы они были в отдельной банке в BOOT-INF / lib. Как это сделать?

РЕДАКТИРОВАТЬ: Я знаю, что могу переместить код в отдельный модуль, но по разным причинам я не могу сделать такое разделение (если нет другого пути). Ищу одномодульное решение, если оно есть.


person wujek    schedule 08.10.2016    source источник
comment
Почему вы не хотите, чтобы классы были в BOOT-INF/classes?   -  person Andy Wilkinson    schedule 08.10.2016
comment
Из-за этого: github.com/spring-projects/spring-boot/wiki/. Предлагаемый обходной путь состоит в том, чтобы упаковать классы приложения в виде jar-файла, распаковать их из толстого jar-контейнера, и тогда сканирование Jersey снова будет работать.   -  person wujek    schedule 08.10.2016


Ответы (1)


Вам потребуется настроить многопроектную сборку и переместить все свои Занятия, связанные с Джерси, в отдельный проект. Затем вы можете положиться на этот новый проект в своем проекте Spring Boot, используя project зависимость. Например:

dependencies {
    compile project(':jersey-endpoints')
}
person Andy Wilkinson    schedule 08.10.2016
comment
Да, я знаю об этом способе, но как бы надеялся, что есть более простой способ, тем более, что документация предлагает это сделать. Что послужило причиной введения такого критического изменения для многих (по крайней мере, я знаю довольно много других проектов, у которых возникла проблема)? Действительно ли у нового макета есть преимущества, требующие изменения? - person wujek; 08.10.2016
comment
Если вы уже знаете один подход, который отвечает на ваш вопрос, было бы неплохо сказать об этом в своем вопросе. Что за трата времени. - person Andy Wilkinson; 09.10.2016
comment
Вы правы, извините, обновил вопрос. Тем не менее, было бы неплохо, если бы в документации упоминались подходы, это сэкономило бы еще больше времени. - person wujek; 09.10.2016