Уменьшите размер Springboot Jar

Я хотел бы уменьшить размер толстого jar-файла springboot.

Ответ на этот вопрос фактически охватывает все Разработка приложения с весенней загрузкой, занимающего меньше места

Нам нужно включить только те зависимости, которые нам нужны, и не использовать автоконфигурацию.

У меня вопрос:

1- есть ли вообще (например, сценарий) для перечисления единственных используемых зависимостей в проекте Springboot. Я на самом деле провожу метод проб и ошибок, чтобы узнать, нужна мне зависимость или нет.

2 - есть ли способ перечислить классы автоконфигурации, которые я должен исключить, я могу пойти и отладить, чтобы увидеть, что Springboot автоматически настраивается и забирает то, что мне не нужно, однако я ищу что-то вроде скрипта для проверки кода и выдачи мне список классов автоконфигурации, которые я должен исключить.

Gradle используется для управления зависимостями.

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

M. Deinum 15.01.2019 08:47

Вы используете Maven или Gradle?

Xtreme Biker 15.01.2019 08:52

это Gradle @XtremeBiker

user3341697 16.01.2019 00:14

@ M.Deinum мы используем стартовые зависимости Spring-boot, в этом нет ничего плохого, однако стартовые библиотеки содержат слишком много вещей, мне нужно знать, что в основном используется из начальных зависимостей.

user3341697 16.01.2019 00:16

Стартовые программы обычно содержат только то, что необходимо для той части программного обеспечения, с которой они работают.

M. Deinum 16.01.2019 07:31
1
5
3 489
1

Ответы 1

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

Спасибо @kasdjad, повторяющийся будет исключен по умолчанию при создании jar, мне нужно что-то сказать мне о неиспользуемых.

user3341697 16.01.2019 01:03

в этом случае взгляните на github.com/nebula-plugins/gradle-lint-plugin/wiki/…, а также вы можете увидеть этот вопрос здесь stackoverflow.com/questions/19379517/…

ksadjad 16.01.2019 08:29

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

Как обрабатывать параллельные обновления одного и того же документа MongoDB?
Невозможно отобразить результат на основе идентификатора базы данных, когда идентификатор передается для просмотра
Thymleaf не отображает результат, вместо этого печатает возвращаемое значение метода контроллера приложения загрузки Spring
Как проверить заголовок входящей службы в облачном шлюзе Spring? Мне нужно вызвать 2 других вызова REST API (GET / POST) для проверки заголовков
Переименование исходного имени файла Multipart
Spring boot - странно долгое время отклика на первый запрос из нескольких
Ошибка 500: org / unbescape / html / HtmlEscape - при попытке достичь конечных точек (с использованием шаблонов тимелеафа)
Как загрузить только файл свойств для конкретного профиля и игнорировать application.properties по умолчанию?
Как исправить java lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.Execute
Не удается загрузить свойства контекста в тесте Spring Boot