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

Bar*_*Bar 13 scala sbt

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

dk1*_*k14 20

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

sbt.version=0.12.0
Run Code Online (Sandbox Code Playgroud)

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

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