使用sbt 0.11.2安装sbt-assembly

dsg*_*dsg 9 scala jar sbt sbt-assembly

我正在尝试按照说明安装sbt-assembly,以便创建一个可以在没有安装scala的计算机上运行的独立jar.

到目前为止,这些是我采取的步骤.

我创建了一个plugins.sbt文件:

$ cat sbt/project/plugins.sbt 
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.2")
Run Code Online (Sandbox Code Playgroud)

我在build.sbt文件的开头添加了以下内容:

$ head -n3 sbt/build.sbt 
import AssemblyKeys._ // put this at the top of the file

seq(assemblySettings: _*)
Run Code Online (Sandbox Code Playgroud)

但是当我运行sbt时,我收到以下错误:

sbt/build.sbt:1: error: not found: value AssemblyKeys
import AssemblyKeys._ 
Run Code Online (Sandbox Code Playgroud)

dsg*_*dsg 12

  1. 通过键入确保您运行的sbt版本至少为0.11

    $ sbt sbt-version

    在bash提示符下.

  2. 确保您已设置插件文件,如下所示:

    $ cat sbt/project/plugins.sbt
    
    addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.2")
    
  3. 使您的构建文件(build.sbt)看起来像这样:

    import AssemblyKeys._ 
    
    seq(assemblySettings: _*)
    
    name := "my_project"
    
    version := "1.0"
    
    scalaVersion := "2.9.1"
    
    libraryDependencies ++= Seq(
      "org.scalatest" %% "scalatest" % "1.6.1" % "test",
      "commons-lang" % "commons-lang" % "2.6"
    )
    
    traceLevel in run := 0
    
    fork in run := true
    
    scalacOptions ++= Seq("-optimize")
    
    // The following is the class that will run when the jar is compiled!
    
    mainClass in assembly := Some("MyMain")