Как распределить ресурсы между проектами в SBT
Проект, над которым я работаю на работе, представляет собой веб-приложение наЛифт Фреймворк. Мы используемвеб-плагин xsbt также. Это "ядро". проект, который содержит подавляющее большинство функциональных возможностей; Моя текущая цель - создать два "дистрибутива" проекты, которые добавляют другой набор ресурсов classpath к "core" проект. Проблема заключается в том, что я 1) не могу получить «распределение» проекты для запуска, или 2) заставить их работать, но требуемый ресурс, похоже, отсутствует.
What I've tried
Вот сокращенная версия моегоproject/Build.scala
:
lazy val core = Project("Core", file("core"))
.settings( /*some dependencies, resolvers, webSettings */ )
lazy val app1 = Project("App1", file("app1"))
.aggregate(core)
.settings( /*the same settings as core */ )
lazy val app2 = Project("App2", file("app2"))
.aggregate(core)
.settings( /*the same settings as core*/ )
Тогда в структуре каталогов для обоихapp1
а такжеapp2
У меня есть файл наsrc/main/resources/aFileINeed
, Основное приложение используетclass.getResource
подход для загрузки файла из classpath.
Problems
Если я попытаюсь запустить один из проектов распространения, используяcontainer:start
, он не обнаруживает требуемый файл в пути к классам. Кроме того, он утверждает, чтоsrc/main/webapp
это не существующий каталог (эта папка включена в основной проект, как того требует веб-плагин xsbt).
How can I get these projects to "merge" their resources? Я ожидал, что с помощьюaggregate
или жеdependsOn
вBuild.scala
определение проекта будет обрабатывать это для меня, но, очевидно, это не так.