it-swarm.com.de

Wie verwende ich Bibliotheken von Drittanbietern mit Scala REPL?

Ich habe Algebird heruntergeladen und möchte mit dieser Bibliothek einige Dinge im Scala-Interpreter ausprobieren. Wie erreiche ich das?

68

Natürlich können Sie scala -cp verwenden und Ihre Abhängigkeiten manuell verwalten. Dies ist jedoch recht mühsam, insbesondere wenn Sie mehrere Abhängigkeiten haben.

Ein flexiblerer Ansatz ist die Verwendung von sbt , um Ihre Abhängigkeiten zu verwalten. Suchen Sie nach der Bibliothek, die Sie auf search.maven.org verwenden möchten. Algebird zum Beispiel kann durch einfaches Suchen nach Algebird aufgerufen werden. Erstellen Sie dann eine build.sbt mit Bezug auf diese Bibliothek, geben Sie das Verzeichnis ein und geben Sie sbt console ein. Es lädt alle Ihre Abhängigkeiten herunter und startet automatisch eine scala console session mit allen Abhängigkeiten im Klassenpfad.

Das Ändern von Dingen wie der scala version oder der Bibliotheksversion ist nur eine einfache Änderung in build.sbt. Zum Herumspielen benötigen Sie keinen scala code Ein leeres Verzeichnis mit nur der build.sbt reicht völlig aus.

Hier ist ein build.sbt für die Verwendung von Algebird:

name := "Scala Playground"

version := "1.0"

scalaVersion := "2.10.2"

libraryDependencies += "com.Twitter" % "algebird-core" % "0.2.0"

Bearbeiten: Wenn Sie häufig mit einer Bibliothek herumspielen möchten, müssen Sie zuerst die Namespaces der Bibliothek importieren. Dies kann auch in build.sbt durch Hinzufügen der folgenden Zeile automatisiert werden:

initialCommands in console += "import com.Twitter.algebird._"
99
Rüdiger Klaehn

Laufen sbt console importiert keine Bibliotheken, die mit einem Testbereich deklariert wurden. Um diese Bibliotheken in der REPL zu verwenden, starten Sie die Konsole mit

sbt test:consoleQuick

Beachten Sie jedoch, dass beim Starten der Konsole das Kompilieren Ihrer Testquellen übersprungen wird.

Quelle: http://www.scala-sbt.org/0.13/docs/Howto-Scala.html

11
Zoltán

Sie können den Schalter -cp Der Waage verwenden, um die Gläser im Klassenpfad zu belassen. Es gibt auch andere Schalter, zum Beispiel -deprecation Und -unchecked, Um verschiedene Warnungen einzuschalten. Viele weitere sind mit scala -X... Und scala -Y... Zu finden. Weitere Informationen zu diesen Schaltern erhalten Sie mit scala -help

6
S.R.I