Как добавить scalax.io как зависимость в SBT?
Я хочу использовать scalax.io._
манипулировать файловыми операциями с SBT.
Когда я запустил его, я получил сообщение об ошибке, показывающее scalax is not found
,
>sbt run
import scalax.io._
[error] ^
[error] iotest.scala:49: not found: object scalax
Как найти библиотечную зависимость для этого конкретного?
Более общий вопрос, как получить информацию о зависимости библиотеки для любой библиотеки? Например, если мне нужно использовать actor в scala, мне нужно указать библиотечную зависимость. Как найти библиотечную зависимость?
1 ответ
"Информация о зависимостях библиотеки для любой библиотеки" является частью документации библиотеки, и автор (ы) должен публиковать информацию для различных инструментов управления проектами, включая sbt. В конце концов, какова цель разработки библиотеки, которую сложно использовать?
Используйте http://search.maven.org/ для поиска библиотеки и при поиске scala-io
вы получите список доступных scala-io
библиотеки.
Поскольку я никогда не работал с библиотекой, я скопировал пример ScalaIOExample из документации Scala IO, чтобы получить рабочий пример. Это нужно scalax.io
а также scalax.file
пакеты, которые распространяются как scala-io-file
артефакт. Поиск артефакта приводит к сведениям об артефакте Для com.github.scala-incubator.io:scala-io-file_2.10:0.4.2 с информацией о том, как использовать его с Scala SBT в разделе " Информация о зависимостях ".
С этим я создал следующее build.sbt
в проекте SBT:
scalaVersion := "2.10.3"
libraryDependencies += "com.github.scala-incubator.io" %% "scala-io-file" % "0.4.2"
Он добавит scala-io-file_2.10-0.4.2.jar в classpath, и выполнение прогона в проекте даст следующие результаты:
$ sbt run
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/sandbox/stackru/sbt-scala-io/project
[info] Set current project to sbt-scala-io (in build file:/Users/jacek/sandbox/stackru/sbt-scala-io/)
[info] Running ScalaIOExample
Not interrupting system thread Thread[Keep-Alive-Timer,8,system]
Not interrupting system thread Thread[Keep-Alive-SocketCleaner,8,system]
[success] Total time: 5 s, completed Dec 31, 2013 11:16:42 PM