3 votes

Comment inclure des bibliothèques Java dans un projet scala

Je suis totalement novice en Scala. Je veux sérialiser des objets scala en xml en utilisant la bibliothèque java xstream. (Est-ce une bonne idée ou existe-t-il un meilleur moyen ?)

Comment installer la bibliothèque pour que je puisse l'importer :

import com.thoughtworks.xstream.io.{HierarchicalStreamReader, HierarchicalStreamWriter}

maintenant thoughtworks n'est pas défini.

Y a-t-il une url à ajouter dans le build.sbt ? ou y a-t-il un emplacement pour copier le xstreams.jar ?

7voto

Markus Appel Points 1027

Pour compléter la réponse de @GamingFelix concernant scala-xml, SBT permet d'inclure facilement des bibliothèques Java dans votre projet Scala.

En ajoutant libraryDependencies à votre projet, vous écrirez généralement quelque chose comme ceci :

libraryDependencies ++= "com.somecompany" %% "someproject" % "1.0.0"

Cela va tenter de résoudre le projet Maven suivant :

com.somecompany:someproject_2.12:1.0.0

Notez le _2.12 !

Pour importer un projet Java, il faut plutôt écrire :

libraryDependencies ++= "com.somecompany" % "someproject" % "1.0.0"

Notez l'unique % au lieu du double %% !

Maintenant, SBT va essayer de résoudre le projet Maven :

com.somecompany:someproject:1.0.0

Lequel est celui que vous recherchez.

Donc, dans votre cas, écrivez :

libraryDependencies += "com.thoughtworks.xstream" % "xstream" % "1.4.11.1"

Lorsque vous effectuez une recherche sur Maven, vous obtenez immédiatement de telles déclarations d'importation :

https://search.maven.org/artifact/com.thoughtworks.xstream/xstream/1.4.11.1/jar

4voto

GamingFelix Points 229

Il existe en fait un très bon support pour le xml dans la bibliothèque standard de Scala. Je pense que vous pouvez en lire plus à ce sujet ici : https://github.com/scala/scala-xml Tout ce que vous avez à faire est d'ajouter l'import dans votre classe

import scala.xml

Si vous voulez vraiment utiliser la bibliothèque java à la place. Vous pouvez probablement l'importer en ajoutant la dépendance dans votre fichier build.sbt .

(Editer pour inclure cette partie de la réponse par ygor)

Vérifiez mvnrepository.com/artifact/com.thoughtworks.xstream/xstream/… Il y a un onglet "SBT" avec la ligne, que vous devez ajouter à build.sbt .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X