Как создать исполняемый одиночный jar-файл, включающий ресурсы веб-приложения, с помощью sbt-Assembly и Scalatra - PullRequest
3 голосов
/ 04 декабря 2011

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

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

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

$ java -jar myproject.jar

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

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

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

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

1 Ответ

4 голосов
/ 12 августа 2012

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

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

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

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

...