Не уверен, что заголовок моего вопроса говорит само за себя, но я постараюсь объяснить проблему ниже. У меня есть веб-приложение Spring Boot 2.0, и я пытаюсь развернуть его на сервере Tomcat 9. После создания артефакта он копируется в папку Tomcat по умолчанию / webapps, а затем война развертывается в подпапку my / appContext. Приложение будет доступно под портом Tomcat, скажем:
http://localhost:8080/appContext
, где appContext
- имя артефакта (а также путь к контексту приложения). При доступе к патчу, приведенному выше, страница индекса (html) содержит много импортов, подобных этому:
<script src="/app/bower_components/jquery-ui/jquery-ui.min.js"></script>
Этот импорт имеет статус 404. Фактический сетевой вызов:
http://localhost:8080/app/bower_components/jquery-ui/jquery-ui.min.js
Однако, это доступно в:
http://localhost:8080/appContext/app/bower_components/jquery-ui/jquery-ui.min.js
У меня вопрос: как объявить импорт HTML, чтобы он правильно загружался при запуске приложения? Возможные решения:
- hardcode / appContext в каждом импорте;
- удалить префикс / из импорта (IntelliJ больше не может проверять существование файла в этом случае => именно поэтому я использовал префикс / во-первых);
Есть ли другой способ добиться этого? (настройка Tomcat для этого приложения или настройка сборки maven)?