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。
我在让 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。