有没有办法在build.sbt中定义所需的sbt版本?

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

标签: scala sbt

在Scala项目的build.sbt定义中,是否可以定义构建项目所需的最低版本的sbt?

1 个答案:

答案 0 :(得分:20)

project/build.properties允许您强制sbt使用特定版本。如果安装的sbt的当前版本不同 - sbt本身将下载(如果需要)您在那里指定的版本:

sbt.version=0.12.0

例如,请参阅Hello。所以实际上你可能已经在系统中安装了几个版本的sbt - 它只是放在.sbt/boot/scala-{scala.version required by this sbt}/org.scala-sbt/sbt/{sbt.version}文件夹中的jar。 Sbt可执行文件实际上查找在project/build.properties中指定的版本或(如果未指定)系统中安装的最高版本。

P.S。从sbt-launcher的角度来看,sbt只是一个与ansi.jar之类的非交叉小的相关的依赖关系,因此指定像[0.13.1, 0.13.8]这样的版本范围没有多大意义,因为它只对冲突有效传递性的deps。否则就足以指定更高版本(可以编译) - 你甚至可以选择你已经拥有的某个版本(并以这种方式更新项目的sbt)。