SBT 程序集不工作(不是有效命令)
SBT Assembly not working (not a valid command)
我已经尝试了很多我能找到的与这个主题相关的解决方案。最重要的是,
看起来最相关,但这并没有解决问题。
我正在使用 sbt 13.7
build.sbt:
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0"
)
lazy val app = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "fat-jar-test"
)
assembly.sbt:
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")
项目结构
root
|
src
target
project
|
build.sbt
assembly.sbt
在sbt中我编译成功,我可以打包成功,但是当我运行汇编命令时我得到:
[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]
我正在使用 Intellij,但 运行正在从终端使用 sbt。
我在 Mac OSX.
我最初是从他们的站点下载 sbt 并安装的,正常安装。我删除并尝试从 macports 安装,没有区别。
我在 build.sbt 设置中有 scala 版本,但由于我收到错误并阅读了 2.11.x does not work with sbt,所以删除了它。这阻止了错误,但我仍然有装配问题。
编辑:
我不确定 build.sbt 在此结构中的位置。在我把它放在根目录之前。根据下面 Roman 的建议,我已将其移回那里,但很遗憾,我收到了完全相同的错误。
将您的 build.sbt
提升 1 级。它应该驻留在项目根目录中,而不是 project
.
也有可能在project
文件夹中有build.sbt
,这意味着不同的东西。阅读 Organizing Build 文档以获得一些见解。
UPD:正如@marios 所建议的,您能否也将解析器放入您的 build.sbt。此外,为您的构建设置 SNAPSHOT 版本也很重要。您的 build.sbt
的全部内容应如下所示:
scalaVersion in ThisBuild := "2.11.7"
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0-SNAPSHOT"
)
lazy val app = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "fat-jar-test"
).
enablePlugins(AssemblyPlugin)
resolvers in Global ++= Seq(
"Sbt plugins" at "https://dl.bintray.com/sbt/sbt-plugin-releases",
"Maven Central Server" at "http://repo1.maven.org/maven2",
"TypeSafe Repository Releases" at "http://repo.typesafe.com/typesafe/releases/",
"TypeSafe Repository Snapshots" at "http://repo.typesafe.com/typesafe/snapshots/"
)
然后,将另外两个文件添加到 root/project
文件夹:
root/project/build.properties
包含一行:
sbt.version=0.13.7
root/project/plugins.sbt
还包含一行:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
现在,删除您的 root/project/assembly.sbt
文件(虽然用它代替 plugins.sbt
没问题,但让我们试试 - 这个配置对我来说总是有效)。
现在,您的项目布局应如下所示:
root
|
build.sbt
src
project
|
plugins.sbt
build.properties
重新加载 sbt 并尝试 plugins
命令。你应该在那里看到 sbtassembly.AssemblyPlugin
。
我也遇到了同样的问题。
我有正确的文件和文件夹结构。
我犯的错误是 运行从 myproject/project 文件夹中安装了 sbt 程序集。
从顶级项目文件夹尝试 运行ning 相同的命令。
运行 来自 C:\Users*\IdeaProjects\untitled9
不是来自 C:\Users*\IdeaProjects\untitled9\project
我已经尝试了很多我能找到的与这个主题相关的解决方案。最重要的是,
看起来最相关,但这并没有解决问题。
我正在使用 sbt 13.7
build.sbt:
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0"
)
lazy val app = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "fat-jar-test"
)
assembly.sbt:
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")
项目结构
root
|
src
target
project
|
build.sbt
assembly.sbt
在sbt中我编译成功,我可以打包成功,但是当我运行汇编命令时我得到:
[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]
我正在使用 Intellij,但 运行正在从终端使用 sbt。
我在 Mac OSX.
我最初是从他们的站点下载 sbt 并安装的,正常安装。我删除并尝试从 macports 安装,没有区别。
我在 build.sbt 设置中有 scala 版本,但由于我收到错误并阅读了 2.11.x does not work with sbt,所以删除了它。这阻止了错误,但我仍然有装配问题。
编辑:
我不确定 build.sbt 在此结构中的位置。在我把它放在根目录之前。根据下面 Roman 的建议,我已将其移回那里,但很遗憾,我收到了完全相同的错误。
将您的 build.sbt
提升 1 级。它应该驻留在项目根目录中,而不是 project
.
也有可能在project
文件夹中有build.sbt
,这意味着不同的东西。阅读 Organizing Build 文档以获得一些见解。
UPD:正如@marios 所建议的,您能否也将解析器放入您的 build.sbt。此外,为您的构建设置 SNAPSHOT 版本也很重要。您的 build.sbt
的全部内容应如下所示:
scalaVersion in ThisBuild := "2.11.7"
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0-SNAPSHOT"
)
lazy val app = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "fat-jar-test"
).
enablePlugins(AssemblyPlugin)
resolvers in Global ++= Seq(
"Sbt plugins" at "https://dl.bintray.com/sbt/sbt-plugin-releases",
"Maven Central Server" at "http://repo1.maven.org/maven2",
"TypeSafe Repository Releases" at "http://repo.typesafe.com/typesafe/releases/",
"TypeSafe Repository Snapshots" at "http://repo.typesafe.com/typesafe/snapshots/"
)
然后,将另外两个文件添加到 root/project
文件夹:
root/project/build.properties
包含一行:
sbt.version=0.13.7
root/project/plugins.sbt
还包含一行:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
现在,删除您的 root/project/assembly.sbt
文件(虽然用它代替 plugins.sbt
没问题,但让我们试试 - 这个配置对我来说总是有效)。
现在,您的项目布局应如下所示:
root
|
build.sbt
src
project
|
plugins.sbt
build.properties
重新加载 sbt 并尝试 plugins
命令。你应该在那里看到 sbtassembly.AssemblyPlugin
。
我也遇到了同样的问题。 我有正确的文件和文件夹结构。
我犯的错误是 运行从 myproject/project 文件夹中安装了 sbt 程序集。 从顶级项目文件夹尝试 运行ning 相同的命令。 运行 来自 C:\Users*\IdeaProjects\untitled9 不是来自 C:\Users*\IdeaProjects\untitled9\project