找不到sbt程序集命令

Jon*_*man 31 sbt sbt-assembly

我正在尝试运行sbt汇编.根据https://github.com/sbt/sbt-assembly ,对于sbt 0.13.6+(我在0.13.7上),这应该自动包含在JvmPlugin的任何内容中.根据sbt plugins我在root中启用了JvmPlugin.当我跑步时,sbt assembly我得到"不是一个有效的commamdn:assembly".我尝试过使用包含sbt-assembly的旧方法和所有不同类型的sbt配置,但似乎都没有.这是我的构建文件的样子(注意sbt包工作正常)

assembly.sbt

addSbtPlugin("com.eed3si8n" % "sbt-assembly" % "0.13.0")

build.sbt

lazy val commonSettings = Seq(
  organization := "com.test",
  version := "1.0",
  scalaVersion := "2.10.4"
)

lazy val root = (project in file(".")).
  settings(commonSettings: _*).
  settings(
    name := "test",

    resolvers ++= Seq(
      ...
    ),

    libraryDependencies ++= Seq(
      ...
    )
)
Run Code Online (Sandbox Code Playgroud)

这是错误:

[error] Not a valid command: assembly
[error] Not a valid project ID: assembly
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: assembly
[error] assembly
[error]     
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?在Linux上运行.谢谢

Dal*_*and 29

您是否assembly.sbt在项目的根目录中创建了一个?和你一起build.sbt

如果是这样,那就是问题所在.你想把它放在project目录中.

完成后,它按照预期完成了其他设置:

> assembly
[info] Including: scala-library.jar
[info] Checking every *.class/*.jar file's SHA-1.
[info] Merging files...
[warn] Merging 'META-INF/MANIFEST.MF' with strategy 'discard'
[warn] Strategy 'discard' was applied to a file
[info] SHA-1: 1ae0d7a9c433e439e81ce947659bf05aa62a2892
[info] Packaging /Users/dnw/Desktop/t-2015-04-08.2340/target/scala-2.10/test-assembly-1.0.jar ...
[info] Done packaging.
[success] Total time: 2 s, completed 08-Apr-2015 23:45:59
Run Code Online (Sandbox Code Playgroud)