SBT只使用一个版本的scala编译一个项目



在多项目设置中,是否有一种方法可以确保其中一个项目只使用Scala版本进行编译?如

/foo (scala-2.13.8)
/bar (scala-2.12.15, scala-2.13.8, scala-3.1.1)
/baz (scala-2.12.15, scala-2.13.8, scala-3.1.1)

我想让barbaz交叉编译而foo只能编译scala-2.13.8

这可能吗?构建配置是什么样子的?

如果您没有从bazbarfoo的依赖项,

例如,当调用sbt +compile

时,下面的build.sbt只会编译2.13.8版本的foo
ThisBuild / scalaVersion := "2.13.8"
ThisBuild / crossScalaVersions := Seq("2.12.15", "2.13.8", "3.1.1")
val foo = project.settings(
  crossScalaVersions := Seq("2.13.8")
)
val bar = project
val baz = project

最新更新