2016-04-18 12 views
0

Ich habe diesen Fehler, warum die Verbrühung sbt in meinem Projekt build.sbt importieren (Ref: How to declare dependency on Scalding in sbt project?). Bitte hilf mir.Fehler Importieren von Verbrühungen in sbt Projekt

lazy val scaldingCore = ProjectRef(uri("https://github.com/twitter/scalding.git"), "scalding-core") 
lazy val myProject = project in file(".") dependsOn scaldingCore 

Error:Error while importing SBT project:
...
[warn] ==== public: tried [warn]
https://repo1.maven.org/maven2/com/twitter/scalding-core_2.10/0.16.0-SNAPSHOT/scalding-core_2.10-0.16.0-SNAPSHOT.pom [info] Resolving org.scala-lang#scala-compiler;2.10.4 ... [info] Resolving org.scala-lang#scala-reflect;2.10.4 ... [info] Resolving org.scala-lang#jline;2.10.4 ... [info] Resolving org.fusesource.jansi#jansi;1.4 ... [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] ::
UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: com.twitter#scalding-core_2.10;0.16.0-SNAPSHOT: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] [warn] Note: Unresolved dependencies path: [warn] com.twitter:scalding-core_2.10:0.16.0-SNAPSHOT [warn] +- myproject:myproject_2.10:0.1-SNAPSHOT [trace] Stack trace suppressed: run 'last myProject/:update' for the full output. [trace] Stack trace suppressed: run 'last myProject/:ssExtractDependencies' for the full output. [error] (myProject/:update) sbt.ResolveException: unresolved dependency: com.twitter#scalding-core_2.10;0.16.0-SNAPSHOT: not found [error] (myProject/:ssExtractDependencies) sbt.ResolveException: unresolved dependency: com.twitter#scalding-core_2.10;0.16.0-SNAPSHOT: not found

+0

Nun, es ist ein ungelöster Abhängigkeitsfehler. Möglicherweise fehlt Ihnen ein Resolver für das Verbrühungsprojekt. Wie sieht deine build.sbt aus? –

+0

Veröffentlichen Sie Ihre Datei 'build.sbt'. – marcospereira

+0

Ich würde empfehlen, ein SBT-Plugin zu versuchen, das ich geschrieben habe, um loszulegen: https://github.com/danosipov/sbt-scalding-plugin –

Antwort

0

Scalding publishes jars on Sonatype Maven Central, so dass Sie wirklich nicht mit dem Git ProjectRef mess brauchen sollte. Sie müssen nur Ihre sbt resolvers korrigieren, damit es die Gläser finden kann. Beginnen Sie mit dieser in Ihrem build.sbt:

resolvers ++= Seq(
    Resolver.sonatypeRepo("releases"), 
    "Concurrent Maven Repo" at "http://conjars.org/repo" 
) 

Cascading publishes to the Conjars repository und nicht die Zentrale, so werden Sie wahrscheinlich brauchen, dass zusätzliche Resolver wie gezeigt.

versuchen, diese zunächst, und wenn Sie immer noch ungelösten Fehler bekommen, können Sie additional repos that Scalding uses je nach hinzufügen müssen, was Artefakte müssen Sie hängen von-Sie wahrscheinlich tun müssen nicht den gesamten scalding uber-Artefakt, können Sie wahrscheinlich trimmen Sie bis scalding-core, scalding-commons, scalding-repl, vielleicht andere je nach den Bedürfnissen Ihres Projekts.

So klar sein, anstatt dass von ProjectRef und dependsOn scaldingCore, fügen Sie die oben Resolvern und so etwas wie diese:

libraryDependencies ++= { 
    val scaldingVersion = "0.16.0-RC6" 

    Seq(
    "com.twitter" %% "scalding-core" % scaldingVersion 
    , "com.twitter" %% "scalding-commons" % scaldingVersion 
    , "com.twitter" %% "scalding-repl" % scaldingVersion 
) 
} 

Und so weiter.

+0

Danke, mein Herr. Es löste das Problem –

+0

Fehler: scalac: Uncaught Ausnahme während der Kompilierung: scala.reflect.internal.Types $ TypeError Fehler: scalac: Fehler: schlechte symbolische Referenz. Eine Signatur in SchemedSource.class verweist auf den Begriff maprot im Paket org.apache.hadoop, das nicht verfügbar ist. Möglicherweise fehlt es vollständig im aktuellen Klassenpfad oder in der Version . Der Klassenpfad ist möglicherweise nicht mit der Version kompatibel, die beim Kompilieren von SchemedSource.class verwendet wird. .... aber dann bekam ich den oben, während mit dem Code zu testen, wie folgt: –

+0

Import com.twitter.scalding._ Import com.twitter.scalding.ReplImplicits._ Import com.twitter.scalding. ReplImplicitContext._ Import cascading.pipe.Pipe Klasse Produkt { val data = Tsv ("/ resources/products.tsv") data.read } –