找不到 sbt 汇编命令
sbt assembly command not found
我正在尝试 运行 sbt 程序集。根据 https://github.com/sbt/sbt-assembly ,对于 sbt 0.13.6+(我在 0.13.7)这应该自动包含在 JvmPlugin 的任何东西中。根据 sbt plugins
我在 root 中启用了 JvmPlugin。当我 运行 sbt assembly
我得到 "Not a valid commamdn: assembly"。我试过使用旧方法将 sbt-assembly 包含在所有不同类型的 sbt 配置中,但 none 似乎有效。这是我的构建文件的样子(注意 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(
...
)
)
这是错误:
[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]
有什么想法吗? 运行 在 Linux 上。谢谢
您是否在项目的根目录下创建了 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
自从在 0.13.5 中引入自动插件后,根据 sbt documentation 不推荐为插件添加显式 .sbt 文件(除了插件未实现自动插件特性的特定情况)。
将 addSbtPlugin("com.eed3si8n" % "sbt-assembly" % "0.13.0")
添加回 project
目录下的 plugins.sbt
并删除 assembly.sbt
。如果您仍然看到错误,请在 build.sbt 中显式启用插件:
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "test",
).
enablePlugins(AssemblyPlugin)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
assemblySettings ++ Seq(
jarName in assembly := "roobricks-spark.jar",
test in assembly := {}
).
enablePlugins(AssemblyPlugin)
你能用这个吗
来自火花:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") with assembly.plugin 确实有效
遇到同样的错误。原因是我从错误的目标文件夹中执行它
同样的事情发生在我身上。将 assembly.sbt
从根目录移动到 project/
目录中
您通常应该在 build.properties
旁边的根级别有一个 plugins.sbt
文件,其中您应该有以下内容:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")
我正在尝试 运行 sbt 程序集。根据 https://github.com/sbt/sbt-assembly ,对于 sbt 0.13.6+(我在 0.13.7)这应该自动包含在 JvmPlugin 的任何东西中。根据 sbt plugins
我在 root 中启用了 JvmPlugin。当我 运行 sbt assembly
我得到 "Not a valid commamdn: assembly"。我试过使用旧方法将 sbt-assembly 包含在所有不同类型的 sbt 配置中,但 none 似乎有效。这是我的构建文件的样子(注意 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(
...
)
)
这是错误:
[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]
有什么想法吗? 运行 在 Linux 上。谢谢
您是否在项目的根目录下创建了 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
自从在 0.13.5 中引入自动插件后,根据 sbt documentation 不推荐为插件添加显式 .sbt 文件(除了插件未实现自动插件特性的特定情况)。
将 addSbtPlugin("com.eed3si8n" % "sbt-assembly" % "0.13.0")
添加回 project
目录下的 plugins.sbt
并删除 assembly.sbt
。如果您仍然看到错误,请在 build.sbt 中显式启用插件:
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "test",
).
enablePlugins(AssemblyPlugin)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
assemblySettings ++ Seq(
jarName in assembly := "roobricks-spark.jar",
test in assembly := {}
).
enablePlugins(AssemblyPlugin)
你能用这个吗
来自火花:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") with assembly.plugin 确实有效
遇到同样的错误。原因是我从错误的目标文件夹中执行它
同样的事情发生在我身上。将 assembly.sbt
从根目录移动到 project/
目录中
您通常应该在 build.properties
旁边的根级别有一个 plugins.sbt
文件,其中您应该有以下内容:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")