Как бороться с конфликтами библиотек на серверах приложений? - PullRequest
0 голосов
/ 05 сентября 2011

Сторонние библиотеки часто включаются сервером приложений, на который вы развертываете, и классифицируют с библиотеками, включенными в ваше приложение. До сих пор я занимался этим самым простым и хакерским способом: удалением библиотек на сервере приложений.

В нашем случае все в порядке, никто не полагается на сервер приложений для предоставления им каких-либо библиотек. Но если бы я запускал свое приложение вместе со множеством приложений других людей, что опять-таки могло бы зависеть от библиотек, включенных сервером приложений, это не было бы решением.

Как это предполагается должно быть решено (чисто)? Как дела?

Пример проблемы может быть такой: вы создаете приложение jax-rs, используя cxf, hibernate и jackson, и развертываете на glassfish 2.1.1. glassfish предоставляет библиотеку asm 3.1, но это приводит к конфликтам в спящем режиме с использованием несовместимой версии 1.5. Точно так же приложению требуется Jackson 1.8.2 (из-за исправления ошибки), но Glassfish 2.1.1 поставляется с версией 0.9. БУМ. Есть ли способ исправить это, кроме простого удаления проблемных библиотек?

1 Ответ

0 голосов
/ 07 сентября 2011

рассмотрите возможность использования:

asadmin deploy --libraries ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...