我应该将scala编译器作为build.sbt中的依赖项包含在内吗?

时间:2015-10-29 12:23:10

标签: scala intellij-idea sbt

我正在尝试使用scala 2.11.7在intellij中构建一个项目。我已将select case when myFunction(someField) in ('val1', 'val2', 'val3') then 'Option1' when someOtherField = 'Val4' then 'Option2' else null end as someColumn from dual 设置为scalaVersion,但当我检查外部库时,我可以看到2.11.7

我是否需要在scala-compiler:2.11.0中声明scala-compiler:2.11.7作为依赖项? docs令人困惑,似乎在说我确实需要而不是连续段落:

  

使用标准库以外的Scala依赖项时,请添加它   作为正常的托管依赖。例如,依赖于Scala   编译器,

     

libraryDependencies + =“org.scala-lang”%“scala-compiler”%   scalaVersion.value

  

为了编译Scala代码,请运行scaladoc,并提供Scala   REPL,sbt需要scala-compiler jar。这不应该是正常的   项目的依赖关系,因此sbt增加了对scala-compiler的依赖   在特殊的私有scala-tool配置中。

所以...我应该添加还是不添加?

1 个答案:

答案 0 :(得分:2)

如果您的项目代码使用scala-compiler(例如,解析或编译Scala代码,运行REPL等),请添加它。否则,不要。这就是为什么第一个引用说" 使用除标准库以外的Scala依赖..."

外部库中显示的

scala-compiler可能存在,因为您的其他依赖项之一依赖于它(并且该版本是使用Scala 2.11.0编译的)。