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

How to include Java libraries to scala project

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

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

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

现在没有定义thoughtworks。

build.sbt里面有url吗? 或者是否有复制 xstreams.jar?

的位置

标准scala库中实际上对xml有很好的支持。 我想你可以在这里阅读更多相关信息: https://github.com/scala/scala-xml 您需要做的就是在 class

中添加导入
import scala.xml

如果您真的想改用 java 库。您可以通过将依赖项添加到 build.sbt.

来导入它

(编辑以包含 ygor 的这部分答案)

查看 mvnrepository.com/artifact/com.thoughtworks.xstream/xstream/… 有一个 "SBT" 选项卡,您需要将其添加到 build.sbt

要添加到@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 上搜索时,您实际上会立即得到这样的导入语句:

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