我正在尝试使用scala-xml_2.12-1.0.6.jar加载xml文件,但在加载时显示NullPointerEexception
下面是我加载xml的代码行
import scala.xml.XML
val xml = XML.loadFile("sample.xml")我已经反编译了这个jar,方法存在于该jar中,但由于某些原因,它无法在代码中找到它。
我的系统上有Scala 2.13.1,但对于这个项目,我使用的是scala 2.12.1,它在mu built.sbt中提到过
scalaVersion := "2.12.1"对于这个xml包,我的built.sbt中有以下依赖项
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.0.6"如果我将相同的代码复制并粘贴到Scala交互式外壳( scala 2.13.1)中,我会得到以下错误
import scala.xml.XML
^
error: object xml is not a member of package scala
did you mean Nil?有谁能找出我做错了什么吗?
提前谢谢。
发布于 2021-04-02 22:49:02
我不确定您是如何加载Scala REPL的,但是正如在"How to use third party libraries with Scala REPL?"中提到的,您应该使用sbt console从SBT启动REPL。您的.sbt文件也需要在作用域中。
Scala REPL不独立地处理.sbt文件。它们是两个不同的工具。
或者,您也可以安装支持Magic Imports的Ammonite-REPL。您将能够使用import $ivy导入Maven依赖项。
Scala2.12附带了scala-xml,只要你用sbt console而不是已经是@Scala2.13的原生Scala REPL运行REPL,你就可以移除这种依赖。否则,您也可以为您的SBT项目切换到Scala 2.13。
https://stackoverflow.com/questions/66894656
复制相似问题