commande d'assemblage sbt introuvable

j'essaie de lancer le montage sbt. Selon https://github.com/sbt/sbt-assembly, pour sbt 0.13.6+ (je suis sur 0.13.7) cela devrait être inclus automatiquement pour tout ce qui a un JvmPlugin. Selon sbt plugins j'ai activé la JvmPlugin dans root. Quand je run sbt assembly je "n'est Pas valide commamdn: assemblée". J'ai essayé d'utiliser d'anciennes méthodes pour inclure sbt-assembly avec tous les différents types de configurations sbt, mais aucune ne semble fonctionner. Voici à quoi ressemblent mes fichiers de construction comme (note sbt package fonctionne très bien)

assemblée.sbt

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

construire.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(
      ...
    )
)

Voici l'erreur:

[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]     

des idées? Fonctionnant sous Linux. Merci

25
demandé sur Jonathan Sweetman 2015-04-08 22:29:31

5 réponses

avez-vous créé un assembly.sbt à la racine de votre projet? À côté de votre build.sbt?

Si oui, alors c'est ça le problème. Vous voulez avoir l'intérieur de la project répertoire.

Ayant fait cela, il a travaillé sur la boîte comme prévu avec le reste de votre configuration:

> 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
26
répondu Dale Wijnand 2015-04-08 22:46:55
lazy val root = (project in file(".")).
  settings(commonSettings: _*).
  settings(
    assemblySettings ++ Seq(
    jarName in assembly := "roobricks-spark.jar",
    test in assembly := {}
  ).
  enablePlugins(AssemblyPlugin)

pouvez-vous une fois avec ce.

2
répondu Sandeep Purohit 2017-01-25 21:30:02

depuis l'introduction des plugins auto dans 0.13.5, en ajoutant explicite .les fichiers sbt pour plugins (sauf dans les cas spécifiques où le plugin n'implémente pas le trait auto-plugin) ne sont pas recommandés par documentation sbt.

Ajouter addSbtPlugin("com.eed3si8n" % "sbt-assembly" % "0.13.0") retour plugins.sbtproject et supprimer assembly.sbt. si vous voyez encore l'erreur, activez explicitement le plugin dans la compilation.sbt:

lazy val root = (project in file(".")).
  settings(commonSettings: _*).
  settings(
    name := "test",
  ).
  enablePlugins(AssemblyPlugin)
1
répondu Dexter Legaspi 2016-06-24 11:03:22

à Partir de sparkour:

addSbtPlugin ("com.eed3si9n " % "sbt-montage" % "0.14.4") avec montage.plugin fonctionne

0
répondu thebluephantom 2018-01-20 12:37:48

est tombé sur la même erreur. La raison était que je l'exécutais à partir du mauvais dossier cible à l'intérieur

0
répondu binshi 2018-02-23 13:24:27