如何将Java库包含到Scala项目中

时间:2018-12-03 13:27:27

标签: scala xstream

我对Scala完全陌生。我想使用java xstream库将scala对象序列化为xml。 (这是个好主意还是有更好的方法?)

如何安装该库,以便我可以导入:

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

现在尚未定义thinkworks。

在build.sbt中是否添加了URL? 还是有可以复制xstreams.jar的位置?

2 个答案:

答案 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