web-dev-qa-db-fra.com

Comment utiliser des bibliothèques tierces avec Scala REPL?

J'ai téléchargé Algebird et je veux essayer quelques choses dans interprète Scala en utilisant cette bibliothèque. Comment puis-je y parvenir?

68
Harshal Kshatriya

Bien sûr, vous pouvez utiliser scala -cp et gérer manuellement vos dépendances. Mais cela devient assez fastidieux, surtout si vous avez plusieurs dépendances.

Une approche plus flexible consiste à utiliser sbt pour gérer vos dépendances. Recherchez la bibliothèque que vous souhaitez utiliser sur search.maven.org . Algebird par exemple est disponible simplement recherche d'algebird . Créez ensuite un build.sbt faisant référence à cette bibliothèque, entrez dans le répertoire et entrez console sbt . Il téléchargera toutes vos dépendances et démarrera une session de console scala avec toutes les dépendances automatiquement sur le chemin de classe.

Changer des choses comme la version scala ou la version bibliothèque est juste un simple changement dans le build.sbt. Pour jouer, vous n'avez pas besoin de code scala dans votre répertoire. Un répertoire vide avec juste le build.sbt fera très bien l'affaire.

Voici un build.sbt pour utiliser algebird:

name := "Scala Playground"

version := "1.0"

scalaVersion := "2.10.2"

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

Edit: souvent lorsque vous voulez jouer avec une bibliothèque, la première chose que vous devez faire est d'importer les espaces de noms de la bibliothèque. Cela peut également être automatisé dans le build.sbt en ajoutant la ligne suivante:

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

Fonctionnement sbt console n'importera pas les bibliothèques déclarées avec une étendue de test. Pour utiliser ces bibliothèques dans le REPL, démarrez la console avec

sbt test:consoleQuick

Vous devez cependant être conscient que le démarrage de la console de cette manière ignore la compilation de vos sources de test.

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

11
Zoltán

Vous pouvez utiliser le -cp commutateur pour conserver les fichiers jars sur le chemin de classe. D'autres commutateurs sont également disponibles, par exemple, -deprecation et -unchecked pour activer divers avertissements. Beaucoup plus à trouver avec scala -X... et scala -Y.... Vous pouvez trouver plus d'informations sur ces commutateurs avec scala -help

6
S.R.I