web-dev-qa-db-ja.com

sbt Assemblyコマンドが見つかりません

Sbt Assemblyを実行しようとしています。 https://github.com/sbt/sbt-Assembly によると、sbt 0.13.6+(私は0.13.7です)の場合、これはJvmPluginを使用すると自動的に含まれます。 _sbt plugins_によれば、ルートでJvmPluginが有効になっています。 _sbt 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(
      ...
    )
)
_

エラーは次のとおりです。

_[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で実行します。ありがとう

31

プロジェクトのルートで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
29
Dale Wijnand
lazy val root = (project in file(".")).
  settings(commonSettings: _*).
  settings(
    assemblySettings ++ Seq(
    jarName in Assembly := "roobricks-spark.jar",
    test in Assembly := {}
  ).
  enablePlugins(AssemblyPlugin)

これで一度できますか。

2
Sandeep Purohit

0.13.5での自動プラグインの導入以来、プラグインに明示的な.sbtファイルを追加することは(プラグインが自動プラグイン特性を実装しない特定の場合を除く) sbt documentation ごとに推奨されていません。

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)
2
Dexter Legaspi

私にも同じことが起こりました。移動Assembly.sbtルートから内部へproject/ディレクトリ

0
farrellw

Sparkourから:

assembly.pluginを使用したaddSbtPlugin( "com.eed3si9n"% "sbt-Assembly"% "0.14.4")が機能する

0
thebluephantom

同じエラーが発生しました。理由は、ターゲットフォルダ内の間違った場所から実行したことです

0
binshi