Как настроить управляемые зависимости в проекте SBT 0.11 с Build.scala - PullRequest
8 голосов
/ 03 ноября 2011

Я строю простой проект Scala с SBT 0.11.

Все файлы кодов находятся в ~/MyProject/src/main/scala/

~/MyProject/build.sbt является следующим


name := "MyProject"

version := "1.0"

scalaVersion := "2.9.1"

libraryDependencies ++= Seq(
  "mysql" % "mysql-connector-java" % "5.1.+",
  "c3p0" % "c3p0" % "0.9.1.2",
  "org.apache.commons" % "commons-lang3" % "3.0.1",
  "commons-lang" % "commons-lang" % "2.6",
  "javassist" % "javassist" % "3.12.1.GA"
)

~/MyProject/project/Build.scala является следующим


import sbt._

object MyProjectBuild extends Build {
  lazy val MyProject = Project("MyProject", file("."))
}

Кажется, это работает почти нормально. Проект компилируется и запускается. Имя проекта задано правильно (если я не использую Build.scala, тогда имя кажется похожим на «default - ????», несмотря на то, что оно указано в build.sbt).

Но проблема в том, что зависимости не работают - команда update ничего не загружает. Как это исправить? Нужно ли указывать мои зависимости в Build.scala, а не * build.sbt в этом случае?

1 Ответ

17 голосов
/ 03 ноября 2011

Возможно ли, что вы уже получили зависимости проекта, но не понимаете этого, потому что они хранятся в кэше Ivy?Вы можете просмотреть управляемый путь к классам из консоли SBT с помощью команды

show managed-classpath

Последние версии SBT не сохраняют управляемые зависимости в каталоге проекта, если проект не настроен для этого.Если вы хотите, вы можете добавить в ваш файл build.sbt следующее:

retrieveManaged := true

Это создаст каталог и содержимое ~/MyProject/lib_managed/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...