Play2: Разница между appDependencies и libraryDependencies?

в приложении Playframework 2 (2.2.x) имеется файл build.sbt. В этом файле следует указать зависимости, которые имеет приложение.

В некоторых документах написано

val appDependencies = Seq(put dependencies here)

а по умолчанию используется

libraryDependencies ++= Seq(put dependencies here)

Когда взять что? В чем разница между appDependencies и libraryDependencies?

Приветствия

Ответ 1

Я думаю, вы смешиваете определения sbt build.sbt и Build.scala (см. sbt Определение сборки).

libraryDependencies - это ключ, определяемый sbt, который вы можете использовать в файлах build.sbt (которые в основном представляют собой хранилища ключей). Однако предопределенного ключа appDependencies нет.

Пример, который вы указали

val appDependencies = Seq(put dependencies here)

- это просто ванильная переменная, которая может иметь любое произвольное имя. Вы могли бы назвать его dependenciesForTehLulz. Причина в том, что эта переменная используется для передачи зависимостей конструктору определения проекта позже, и его имя просто не имеет значения:

val main = play.Project(appName, appVersion, **appDependencies**).settings(
    ...
)

Это возможно только в Build.scala -проектных определениях проекта.