Mule 3.7.3 和 Jackson 2.9.0 问题-NoSuchMethodError

Mule 3.7.3 and Jackson 2.9.0 issues-NoSuchMethodError

我在让 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 jackson-annotations-2.9.0.jar 杰克逊数据格式-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")

如何解决这个问题?

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