【问题标题】:object xml is not a member of package scala对象 xml 不是包 scala 的成员
【发布时间】:2014-07-03 16:44:15
【问题描述】:

编译器中的以下代码:

abstract class query {def get: Unit => scala.xml.Elem}

给我错误:“object xml is not a member of package scala”

但是,当我通过命令行在 sbt 中使用 scala.xml.Elem 时,它工作得很好,

我该如何解决这个问题?

提前致谢

【问题讨论】:

    标签: xml scala import compiler-errors


    【解决方案1】:

    Scala-XML 自 Scala 2.11 起已被分解为 separate library,因此默认情况下它不包含在 Scala 项目中。要通过 sbt 将其包含在您的项目中,请添加此依赖项:

    libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.0.2"
    

    【讨论】:

    • 我正在使用eclipse,我的项目应该放在哪里?
    • 您没有在问题中指定。我不使用 Eclipse,所以我不确定。如果它仍然是 Eclipse 中的 sbt 项目,它应该进入 build.sbtBuild.scala,但除此之外我不知道。
    • 我如何知道我的项目是否是一个 sbt 项目? (对不起,我对很多东西都是个大菜鸟)
    • @user3369872 你是如何设置你的项目的?您是否刚刚创建了空的 Eclipse 项目,将 scala jar 放在类路径中并编写了一些代码?如果是这样,是的,很可能您的项目不是通过 sbt 管理的。
    • @user3369872 您在 Scala 2.10 项目中尝试过,其中 XML 库仍然是主要 Scala 库的一部分。这只适用于 Scala 2.11。
    【解决方案2】:

    (至少适用于 Windows)

    在 Eclipse 中转到

    项目 > 属性

    在出现的窗口上(应该在左侧的 Java 构建路径上)选择“库”部分并点击“添加外部 JAR”。

    导航到您的安装文件夹,然后导航到“lib”文件夹(通常是

    C:\Program Files (x86)\scala\lib

    C:\Program Files\scala\lib

    )

    并添加

    scala-xml_2.11-1.0.2

    或您拥有的任何版本。

    【讨论】:

    • 那么你在哪里下载 JUST scala?
    【解决方案3】:

    更新依赖

    // https://mvnrepository.com/artifact/org.scala-lang.modules/scala-xml_2.12
    libraryDependencies += "org.scala-lang.modules" % "scala-xml_2.12" % "1.0.6"
    

    【讨论】:

      【解决方案4】:

      我有同样的错误,我尝试了很多方法。最后,我发现这是 Java 加载依赖项顺序问题。如果我把它移到最后一个。这对我来说可以。

      我在 IntelliJ Idea 中对其进行了修改: 命令-;项目设置——模块——依赖 单击左下角的 + -- 2 库 -- 来自 Maven

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-09
        • 2021-03-31
        • 1970-01-01
        • 2019-09-24
        • 1970-01-01
        • 2017-11-09
        • 1970-01-01
        相关资源
        最近更新 更多