Как создать исполняемый одиночный jar-файл, включающий ресурсы webapp, с помощью sbt-Assembly со Scalatra

Я делаю веб-приложение с использованием фреймворка скалатра через плагин sbt & xsbt-web-plugin.

Я хочу упаковать все ресурсы (шаблоны, CSS, JS) в одну банку.

В sbt с плагином sbt-assembly, assembly Команда создает один jar, который включает в себя все зависимости проекта.

$ java -jar myproject.jar

и я открываю это в браузере

Не удалось загрузить ресурс: [/WEB-INF/views/index.scaml]; Вы уверены, что это в [ноль]?

Я распаковал банку, чтобы подтвердить, что она не включает src/main/webapp/*,

Как я могу настроить SBT для включения src/main/webapp/* а сборку исполняемого фляги?

1 ответ

Ресурсы предназначены для размещения под resources папки. Есть две такие папки:

  • src/main/resources для ресурсов, доступных во время выполнения
  • src/test/resources для ресурсов, доступных только во время тестирования

sbt автоматически запакует их для вас при запуске package-war или же test, Проект не должен иметь плагин сборки для sbt для включения ресурсов.

В вашем случае вы должны поставить WEB-INF каталог в src/main/resources/WEB-INF/,

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