Как я могу сказать sbt исключить файлы из WAR, но разрешить их загрузку контейнером:start?

У меня есть проект sbt 11.0, который я первоначально написал снова xsbt-web-plugin 0.1.x. Против этой версии я смог использовать следующую строку, чтобы некоторые файлы не были включены в WAR, а были загружены, когда я выполнял пробежку.

WebPlugin.webappUnmanaged <<= WebPlugin.temporaryWarPath{twp => (twp / "api" / "1" / "javascript" / "test" * "*") }

В xsbt-web-plugin версии 0.2.x нет ключа WebPlugin.webappUnmanaged. Вы знаете, как я мог добиться того же с новой версией?

Так что на случай, если неясно, что я пытаюсь сделать, это загрузить тестовый JavaScript, когда я запускаю Jetty из SBT, но я хочу исключить эти файлы из артефакта, созданного package-war, чтобы тест файлы не идут в производство.

1 ответ

Решение

Кажется, что вам нужно сделать, это использовать параметр warPostProcess и удалить соответствующие файлы. Я считаю, что в вашем случае это будет выглядеть следующим образом:

warPostProcess in Compile <<= (target) map {
  (target) => { 
    () =>
    val webapp = target / "webapp"
    IO.delete(webapp / "api/1/javascript/test")
  }
}

Этот фрагмент был взят отсюда.

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