Исключение определенного файла jar из общей библиотеки в weblogic

У меня есть 2 модуля, один из которых - файл EAR, а другой - статическая общая библиотека. Статическая общая библиотека уже развернута на сервере. Эта статическая библиотека представляет собой набор файлов jar, развернутых как библиотека (а НЕ приложение) в weblogic.

Теперь мне нужно развернуть приложение EAR на сервере, и это приложение EAR ссылается на статическую библиотеку (через ссылку в файле weblogic.xml).

Проблема в том, что и приложение EAR, и статическая библиотека имеют общий jar, и я хочу, чтобы jar из моего EAR загружался (поскольку это более высокая версия), но, к сожалению, Weblogic загружает jar из общей библиотеки, а не из файла EAR.

Могу ли я каким-либо образом сообщить серверу weblogic в случае конфликта с jar в EAR и общей библиотеке, чтобы исключить определенный jar из общей библиотеки и дать JAR (исходящий из EAR ) приоритет над тем, что исходит из общей библиотеки?

Я попытался просмотреть документы weblogic, но не нашел подходящего решения по указанию WLS при загрузке классов.

Любая помощь будет оценена.


person Barbareek    schedule 28.06.2017    source источник


Ответы (1)


Вы можете попробовать это в своем weblogic-application.xml

<prefer-application-packages>
    <package-name>antlr.*</package-name>
</prefer-application-packages>

Или у вас может быть две общие библиотеки, и вы сами определите, какую из них ваше ухо должно использовать, это также находится в файле weblogic-application.xml.

<library-ref>
    <library-name>NAME_OF_YOUR_LIB</library-name>
    <specification-version>VERSION_TO_USE</specification-version>
    <exact-match>false</exact-match>
</library-ref>
person Xavier Bouclet    schedule 23.09.2017