У меня есть простой многомодульный проект Maven. Первый модуль представляет собой угловой интерфейс, второй модуль представляет собой приложение с пружинной загрузкой.
Я настроил модуль frontend maven для создания угловых приложений и сбора собранных файлов в frontend.jar
. В результате у меня следующая структура архива:
jar -tf frontend.jar | sort
---------------------------
META-INF/
META-INF/MANIFEST.MF
META-INF/maven/
META-INF/maven/sample-project/
META-INF/maven/sample-project/frontend/
META-INF/maven/sample-project/frontend/pom.properties
META-INF/maven/sample-project/frontend/pom.xml
static/
static/3rdpartylicenses.txt
static/assets/
static/assets/img/
static/assets/img/loading.gif
static/favicon.png
static/index.html
static/main.8e44da4898d2a7a95ed3.js
static/polyfills.d72edd4c76dc8f27444a.js
static/runtime.a66f828dca56eeb90e02.js
static/styles.0afb74a990d73ad0b544.css
После этого я добавляю в файл Spring-boot .pom
зависимость от модуля внешнего интерфейса и собираю весь проект.
<dependency>
<groupId>sample-project</groupId>
<artifactId>frontend</artifactId>
<version>${version}</version>
</dependency>
Наконец, после того как я запустил веб-приложение с весенней загрузкой, я обнаружил, что когда я перехожу на localhost:port/
url, я получаю свое угловое приложение.
Вопрос в следующем: как spring-boot понимает, что он должен обслуживать статический контент из frontend
зависимости? Обратите внимание, что у меня нет статической папки в ресурсах модуля весенней загрузки.