2015-01-15 3 views
4

Я использую sbt 0.13.7 и Scala 2.11.4 на машине Windows, чтобы скомпилировать мой код в жирную банку, которую я в конечном итоге хочу запустить на машине Linux.Scala code build with sbt assembly, failing

Ниже мой build.sbt файл:

import AssemblyKeys._ 

name := "Simple Project" 
version := "1.0" 
organization := "com.myorg" 
scalaVersion := "2.11.4" 
libraryDependencies ++= Seq(
    // Spark dependency 
    "org.apache.spark" % "spark-core_2.10" % "1.2.0" % "provided", 
    // Third party libraries 
    "net.sf.jopt-simple" % "jopt-simple" % "4.3", 
    "joda-time" % "joda-time" % "2.0" 
) 
libraryDependencies += Defaults.sbtPluginExtra("com.eed3si9n" % "sbt-assembly" % "0.7.2", "0.11.2", "2.9.1") 
// This statement includes the assembly plugin capabilities 
assemblySettings 
// Configure jar named used with the assembly plug-in 
jarName in assembly := "my-project-assembly.jar" 
// A special option to exclude Scala itself form our assembly jar, since Spark 
// already bundles Scala. 
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false) 

Ошибка Я облицовкой:

build.sbt:16: error: type mismatch; 
found : Seq[sbt.Project.Setting[_]] 
required: sbt.internals.DslEntry 
assemblySettings 
^ 
[error] Type error in expression 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 
+0

Какую версию плагина sbt-native-packager вы указываете? Код, который вы предоставили, работает с 1.0.0-M4 на MBP. – tobym

ответ

3

Вы используете SBT-сборки 0.12.0? Если это так, вам больше не нужно assemblySettings, так как это auto plugin.

Edit:

Вы должны включить

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0") 

в project/*.sbt как project/assembly.sbt, не build.sbt.

+0

Eugene, когда я включаю следующую строку в build.sbt addSbtPlugin ("com.eed3si9n"% "sbt-assembly"% "0.12.0"), он не может найти его на maven repo [warn] https: //repo1.maven .org/maven2/com/eed3si9n/sbt-assembly_2.11_0.13/0.12 .0/sbt-assembly-0.12.0.pom – Varun

+0

Итак, я просмотрел репо и включил libraryDependencies + = Defaults.sbtPluginExtra ("com.eed3si9n "%" sbt-assembly "%" 0.7.2 "," 0.11.2 "," 2.9.1 ") Что работает, но похоже на очень старую версию – Varun

+0

Плагины sbt находятся в сообществе sbt repo - http: // dl .bintray.com/sbt/sbt-plugin-релизы/com.eed3si9n/sbt-assembly/scala_2.10/sbt_0.13/0.12.0/ –

 Смежные вопросы

  • Нет связанных вопросов^_^