【问题标题】:"NoSuchMethodError: Predef$.any2ArrowAssoc" when updating to Scala 2.10更新到 Scala 2.10 时出现“NoSuchMethodError: Predef$.any2ArrowAssoc”
【发布时间】:2015-08-24 12:09:24
【问题描述】:

我正在从 java 运行我的 scala 代码,在我使用 scala 2.9.1 之前它运行良好,现在我从 2.9.1 升级到 2.10.4,我遇到了这个问题

java.lang.NoSuchMethodError: scala.Predef$.any2ArrowAssoc(Ljava/lang/Object;)Lscala/Predef$ArrowAssoc

谁能告诉我是什么问题?

谢谢

【问题讨论】:

    标签: scala scala-2.10


    【解决方案1】:

    听起来你有依赖冲突。也就是说,您可能已经更新了代码以使用 Scala 2.10,但您无法更新依赖项以使用 Scala 2.10。对于那些基于 Scala(不是基于 Java)的库,您是否将东西导入为

    "com.foo" %% "name" % "version.number"
    

    而不仅仅是name_2.9

    【讨论】:

    • 我有一个 java web 项目,其中我依赖于 scala 项目我在 scala 项目上运行 maven clean -> maven install 然后更新我的 web 项目以具有更新的代码。在依赖项中我有版本号
    • @wearybands 确保如果您升级到 2.10,您还更改了依赖项版本。 Scala 不是主要或次要的向后兼容 (Major.minor.patch)
    • 依赖版本到底是什么意思? scala 项目的依赖版本?
    • 即使支持它们的方法和代码完全相同,也不能保证 Scala 编译器生成的字节码在 2.9 版本库和 2.10 库之一之间是相同的。
    • 所以你的意思是我应该更改(对于我的java项目中作为依赖项包含的所有基于maven的scala项目)版本号,然后用新的scala编译它并将我的java项目更新到最新生成的代码版本?
    猜你喜欢
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多