Должен ли я использовать `src/main/webapp` для обслуживания статического контента с помощью Spring Boot?

Документация Spring Загрузка гласит:

Не используйте каталог src/main/webapp, если ваше приложение будет упакован как банка.

Но удивительно, что Spring пример загрузки для статических веб файлов использует каталог /src/main/webapp. А также JHipster использует папку webapp.

Так что я смущен. Предупреждение в документации Spring Boot устарело? В настоящее время считается хорошей практикой использовать src/main/webapp для обслуживания статических файлов с помощью приложений Spring Boot jar? А если нет, то какая рекомендуемая практика при использовании Spring Boot в настройке Maven?

Ответ 1

От Spring Загрузочная справочная документация (выделено мной):

По умолчанию Spring Boot будет обслуживать статический контент из каталога с именем /static (или /public или /resources или /META-INF/resources) в пути к классам или из корня ServletContext. Он использует ResourceHttpRequestHandler из Spring MVC, поэтому вы можете изменить это поведение, добавив свой собственный WebMvcConfigurerAdapter и переопределив метод addResourceHandlers.

В некоторых моих проектах (Maven) я в настоящее время использую src/main/resources/static, потому что по умолчанию считается частью пути к классам, а IDE (например, Eclipse) имеют тенденцию к этому.

Ответ 2

Привет, если я понимаю ваш вопрос когда вы используете упаковку jar в загрузке spring yo поместит ваш ресурс в META-INF/ресурсы и вы можете использовать этот пакет jar в другом проекте и ресурсе вызова, вы можете переместить webapp в каталог meta-inf с помощью maven и gradle build