我需要使用sbt程序集为scala的多个版本创建fat jars。
当我针对单个版本时,我用simple.sbt编写
scalaVersion := "2.11.12"脂肪罐被输出到target/scala-2.11/Kernalytics-assembly-1.0.jar。现在,我还想以Scala2.12为目标。我可以编辑sbt文件来更改scalaVersion,但是当我调用sbt assembly时,我希望组装过程能够在Scala的一系列版本上实现自动化。
如果我使用crossScalaVersions
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
发布于 2018-10-27 19:47:56
如果使用crossScalaVersions,我认为如果要为所有版本构建,则需要在命令前缀加上“+”。
来自交叉建造项目
若要针对crossScalaVersions中列出的所有版本进行编译,请在要使用+运行的操作前加上前缀
https://stackoverflow.com/questions/53009188
复制相似问题