Проблемы с Mule 3.7.3 и Jackson 2.9.0 — NoSuchMethodError

У меня много проблем с тем, чтобы заставить Mule работать с классами Джексона. Классы, присутствующие в моей окончательной библиотеке, имеют только следующие файлы. Чтобы исключить возможность использования maven других библиотек Джексона, я создаю проект мула без использования maven и просто подключаю минимальные библиотеки. Однако он не работает с 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-аннотации-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")

Как можно решить эту проблему?


person BreenDeen    schedule 09.11.2017    source источник
comment
Ваши вопросы кажутся запутанными. Для чего нужен список модулей? (jackson-core, jackson-databind и т. д.) Как вы запускаете свою программу вне Mule и развертываете ее в Mule? Что еще с 2.9.0?   -  person Pierre B.    schedule 10.11.2017


Ответы (1)


Я решил это, используя библиотеки Джексона, предоставленные Mule, то есть версию 2.4.3, для преобразования объектов JSON в Java. Для преобразования CSV в Map я использовал apache commons-csv вместо CSVMapper Джексона.

person BreenDeen    schedule 15.11.2017