gpt4 book ai didi

scala - SBT组件不起作用(无效命令)

转载 作者:行者123 更新时间:2023-12-01 08:25:46 24 4
gpt4 key购买 nike

我已经尝试了很多与该主题相关的解决方案。最重要的是,

sbt assembly command not found

看起来最相关,但这并不能解决问题。

我正在使用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不适用于sbt。那停止了错误,但是我仍然遇到汇编问题。

编辑:

我不确定build.sbt在此结构中的位置。在将它放在根目录之前。在下面的Roman提示下,我将其移回了那里,但是可惜我收到了完全相同的错误。

最佳答案

将您的build.sbt上拉1级。它应该位于项目根目录中,而不是project中。

也可以在build.sbt文件夹中也有project,这意味着另一回事。阅读Organizing Build文档以获得一些见解。

UPD:如@marios所建议,您还可以将解析器放入build.sbt中。同样,为您的build设置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

关于scala - SBT组件不起作用(无效命令),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com