Ответ 1
У единственной сборки sbt есть один каталог project/
для определения .scala
и определения плагина. Внутри этой сборки могут быть несколько подпроектов с собственными .sbt
файлами, но не с их собственными project/*.scala
файлами.
Если вы хотите включить другие, отдельные сборки напрямую, а не использовать их опубликованные двоичные файлы, вы используете "исходные зависимости". Это то, что объявляют RootProject
и ProjectRef
. ProjectRef
является наиболее общим: вы указываете местоположение сборки (URI) и идентификатор проекта в строке (String), на которую вы хотите зависеть. RootProject
- это удобство, которое выбирает корневой проект для сборки в указанном URI.
У исходных зависимостей есть накладные расходы: время запуска, использование памяти и удобство использования командной строки. Если группа проектов не должна быть отдельной, лучше всего использовать единую сборку со стандартными подпроектами.