我对Scala完全陌生。我想使用java xstream库将scala对象序列化为xml。 (这是个好主意还是有更好的方法?)
如何安装该库,以便我可以导入:
import com.thoughtworks.xstream.io.{HierarchicalStreamReader, HierarchicalStreamWriter}
现在尚未定义thinkworks。
在build.sbt中是否添加了URL? 还是有可以复制xstreams.jar的位置?
答案 0 :(得分:4)
实际上,标准scala库中对xml的支持非常好。
我认为您可以在此处了解更多信息:
https://github.com/scala/scala-xml
您需要做的就是在您的班级中添加导入
import scala.xml
如果您真的想使用Java库。您可以通过将依赖项添加到build.sbt
中来导入它。
(由ygor编辑以包含答案的这一部分)
检出mvnrepository.com/artifact/com.thoughtworks.xstream/xstream/…
,该行带有一个“ SBT”标签,您需要将其添加到build.sbt
。
答案 1 :(得分:4)
要在@GamingFelix中添加有关scala-xml的答案,SBT允许轻松地将Java库包含到Scala项目中。
将libraryDependencies
添加到项目中时,通常会编写如下内容:
libraryDependencies ++= "com.somecompany" %% "someproject" % "1.0.0"
这将尝试解决以下Maven项目:
com.somecompany:someproject_2.12:1.0.0
注意_2.12
!
要导入Java项目,您必须改为:
libraryDependencies ++= "com.somecompany" % "someproject" % "1.0.0"
请注意,单个%
而不是两个%%
!
现在,SBT将尝试解决Maven项目:
com.somecompany:someproject:1.0.0
您正在寻找哪个。
因此,您的情况如下:
libraryDependencies += "com.thoughtworks.xstream" % "xstream" % "1.4.11.1"
在Maven上进行搜索时,实际上会立即获得这样的import语句:
https://search.maven.org/artifact/com.thoughtworks.xstream/xstream/1.4.11.1/jar