Mule - обновление сторонней библиотеки во время выполнения
Я использую Mule Server 3.8 EE, который приносит с собой commons-lang 2.4. Сторонней библиотеке в моем проекте требуется commons-lang 2.6, потому что она использует метод, который был представлен в этой версии.
Поэтому, когда я только запускаю свое приложение, я получаю java.lang.NoSuchMethodError
Есть ли способ обновить зависимость во время выполнения? Что я пробовал до сих пор:
- в том числе commons-lang 2.6 в моем приложении -> безрезультатно, сначала выбирается тот из среды выполнения
- замена банки непосредственно во время выполнения -> ошибки в студии, что отсутствует 2,4 банка
1 ответ
Так что, может быть, я опоздал, НО - это ваш ответ. Добавьте библиотеки, более новые в дистрибутиве jar, в Build Path. Под экраном Java Build Path вы должны увидеть перечисленные библиотеки. Мне нужно было использовать Apache http-клиент 4.5.6, и это очень интересно, потому что оно содержит много других зависимостей, поэтому ваш вопрос был ОЧЕНЬ актуален. Решение состоит в том, чтобы положиться на соглашения JAVA (а не на mule -oops Anypoint или что-либо еще) и убедиться, что JVM сначала загружает мои файлы классов. Тогда он не загрузит старые из банки мулов. И вот я перешел на вкладку Order and Export и переместил Mule вниз. Это простое, тривиальное изменение заставляет его работать. Я думаю, что если бы мы работали с командной строкой и vim, мы бы все это знали. Но весь графический интерфейс IDE и все остальное заставляет нас забыть о самых простых вещах. Пожалуйста, используйте его в добром здравии.:)