【问题标题】:Mule 3.7.3 and Jackson 2.9.0 issues-NoSuchMethodErrorMule 3.7.3 和 Jackson 2.9.0 问题-NoSuchMethodError
【发布时间】:2017-11-09 19:53:48
【问题描述】:

我在让 Mule 与 Jackson 课程合作时遇到很多问题。我的最终库中存在的类只有以下文件。为了消除 maven 引入其他 jackson 库的可能性,我在不使用 maven 的情况下创建了一个 mule 项目,并简单地引入了最基本的库。但是,NoSuchMethodError 和 CSVMapper().reader(MyClass) 等都失败了,后来

Caused by: java.lang.NoSuchMethodError: 
               com.fasterxml.jackson.databind.JsonMappingException.<init>
         (Ljava/io/Closeable;Ljava/lang/String;)V

jackson-core-2.9.0.jar jackson-databind-2.9.0.jar 杰克逊注释-2.9.0.jar jackson-dataformat-csv-2.9.0.jar

当我调用绝对在类路径中的方法时,我得到NoSuchMethodError。更糟糕的是,该程序在 Mule 之外运行良好。

事实证明,以下模块 mule-core.3.7.3 具有较旧版本的 Jackson,即 2.4.3。不幸的是,现在与 2.9.0 版一起使用的功能因

而失败
 Too many entries: expected at most 1 (value #1 (18 chars) "20170822211046.581")

如何解决这个问题?

【问题讨论】:

  • 您的问题似乎很困惑。模块列表的用途是什么? (jackson-core、jackson-databind 等)你如何在 Mule 之外运行你的程序,你是否将它部署到 Mule? 2.9.0 的另一件事是什么?

标签: java jackson mule jackson2


【解决方案1】:

我使用 Mule 提供的 Jackson 库解决了这个问题,即版本 2.4.3,用于将 JSON 转换为 Java 对象。对于 CSV 到 Map 的转换,我使用 apache commons-csv 替换了 Jackson 的 CSVMapper。

【讨论】:

    猜你喜欢
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2017-07-24
    • 1970-01-01
    相关资源
    最近更新 更多