Как установить зависимость как время выполнения в SBT (чтобы имитировать область выполнения в Maven)?

У меня есть зависимость в области runtime в проекте Maven:

<dependency>
  <groupId>org.docbook</groupId>
  <artifactId>docbook-xml</artifactId>
  <version>4.4</version>
  <scope>runtime</scope>
</dependency>

Как я могу выразить это в SBT?

Ответ 1

Для зависимостей build.sbt вы должны использовать конфигурацию runtime следующим образом:

libraryDependencies += "org.docbook" % "docbook-xml" % "4.4" % "runtime"

Для этого необходимо правильно установить путь к классам - show managedClasspath для конфигураций compile и runtime, чтобы проверить его:

[sbt-13-0-1]> help dependencyClasspath
The classpath consisting of internal and external, managed and unmanaged dependencies.
[sbt-13-0-1]> show managedClasspath
[info] List(Attributed(/Users/jacek/.sbt/boot/scala-2.10.3/lib/scala-library.jar))
[success] Total time: 0 s, completed Jan 1, 2014 12:10:57 AM
[sbt-13-0-1]> show runtime:managedClasspath
[info] List(Attributed(/Users/jacek/.sbt/boot/scala-2.10.3/lib/scala-library.jar), Attributed(/Users/jacek/.ivy2/cache/org.docbook/docbook-xml/jars/docbook-xml-4.4.jar))
[success] Total time: 0 s, completed Jan 1, 2014 12:11:01 AM