Как добавить 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
Другие вопросы по тегам