Scala 用于多目标的Sbt组装

Scala 用于多目标的Sbt组装,scala,sbt,Scala,Sbt,我需要使用sbt assembly为多个版本的scala创建胖jar 当我针对单个版本时,我使用simple.sbt: scalaVersion := "2.11.12" fat jar被输出到target/scala-2.11/Kernalytics-assembly-1.0.jar。现在我还想针对Scala 2.12。我可以编辑sbt文件来更改Scalaversation,但我希望在调用sbt assembly时,组装过程能够在Scala的一系列版本上实现自动化 如果我使用交叉缩放选项:

我需要使用sbt assembly为多个版本的scala创建胖jar

当我针对单个版本时,我使用
simple.sbt

scalaVersion := "2.11.12"
fat jar被输出到
target/scala-2.11/Kernalytics-assembly-1.0.jar
。现在我还想针对Scala 2.12。我可以编辑sbt文件来更改Scalaversation,但我希望在调用
sbt assembly
时,组装过程能够在Scala的一系列版本上实现自动化

如果我使用
交叉缩放选项

name := "Kernalytics"

version := "1.0"

crossScalaVersions := Seq("2.11.12", "2.12.4")

libraryDependencies  ++= Seq(
  "org.scalanlp" %% "breeze" % "0.13.2",
  "org.scalanlp" %% "breeze-natives" % "0.13.2",
  "org.scalanlp" %% "breeze-viz" % "0.13.2"
)

libraryDependencies += "commons-io" % "commons-io" % "2.6"

resolvers += "Sonatype Releases" at "https://oss.sonatype.org/content/repositories/releases/"

libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.4"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.4" % "test"

唯一的输出是
target/scala-2.12/Kernalytics-assembly-1.0.jar

如果您使用
crossscalaversations
我认为如果您想要为所有版本构建,您需要在命令前面加上“+”

发件人:

要针对CrossScalarVersions中列出的所有版本进行构建,请在要运行的操作之前加上前缀+


请注意,在命令行中,+必须与assembly连接,如
sbt+assembly