【问题标题】:Play! and Spark incompatible Jackson versions玩!和 Spark 不兼容的 Jackson 版本
【发布时间】:2017-05-18 18:44:32
【问题描述】:

我在使用 Play 运行 Spark 2.1 时遇到问题! 2.5.9.

我得到以下运行时异常:

com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.7.6

在以前版本的 Spark (1.6) 中,我设法在我的 build.sbt 文件中添加此错误:

dependencyOverrides ++= Set("com.fasterxml.jackson.core" % "jackson-databind" % "2.4.4")

但它不适用于 Spark 2。我尝试将 dependencyOverrides 中使用的版本更改为 2.7.2 和 2.8.5,但我不知道应该使用哪一个以及为什么。

任何线索将不胜感激;)

【问题讨论】:

    标签: apache-spark playframework sbt


    【解决方案1】:

    在dependencyOverrides 中使用2.6.x 版本是有效的(我仍然不知道是否有其他方法可以找到一个有效的版本,而不是一个接一个地测试)。

    【讨论】:

    【解决方案2】:

    我在使用 Spark 2.4.0 时遇到了完全相同的问题。对我有用的依赖项覆盖是:

    dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.9.8"
    

    我相信同样的覆盖也适用于 2.4.1。

    【讨论】:

      【解决方案3】:

      我对@9​​87654322@ 和play-json 2.8.1 有同样的问题,所以在maven 存储库中查找Spark 依赖项:https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.12/2.4.4;在那里我可以看到我需要的jackson-databind 的版本。最后,我在build.sbt 文件中添加了以下行:

      dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.6.7.1"
      

      这意味着 play-json 现在使用的是旧版本的 jackson-databind,我不太喜欢,但它对我有用。

      【讨论】:

        猜你喜欢
        • 2019-01-02
        • 2017-10-06
        • 2018-06-05
        • 2019-05-10
        • 2018-08-31
        • 2017-10-08
        • 2018-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多