scala - 运行 `scala`和 `sbt console`有什么区别?

标签 scala sbt

以这些不同方式运行scala shell有何区别?

最佳答案

SBT与build.sbt文件定义的特定项目相关联,其方式是$ sbt console可以加载与$ scala相同的REPL环境,但是要添加可在导入中定义的所有项目代码和依赖项。另外,它将使用build.sbt定义的Scala版本。

例如:

$ scala
scala> import scalaz._
<console>:7: error: not found: value scalaz
       import scalaz._

但是用这个build.sbt:
scalaVersion := "2.11.4"

libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.1.0"

导入成功:
$ sbt console
...
scala> import scalaz._
import scalaz._

该命令将加载Scala 2.11.4,而不是系统范围的Scala(或PATH上的任何版本)。

此外,在构建的sbt console中添加新项目后调用libraryDependencies将获取它们。

关于scala - 运行 `scala`和 `sbt console`有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192398/

相关文章:

scala - 尝试将项目交叉编译到 Scala 2.11 失败,编译器镜像中出现 "error while loading Object, Missing dependency ' 对象 scala'”

eclipse - 为什么 Scala `var` 在 Eclipse 中以红色突出显示

java - Scala 的类和对象的问题

sbt - 如何动态地使用sbt插件增强构建,即不保存它?

sbt - 如何将外部jar文件包含到jar包中?

java - Maven 组装插件合并策略

java - Scala while 循环赋值

scala - 在 Scala 中高效检索 ArrayStack 的最后一个和倒数第二个元素?

scala - 如何等待Akka Actor系统终止?

scala - 如何在测试中运行服务器?