Weblogic 10.3.1.0 использует com.bea.core.apache.commons.net_1.0.0.0_1-4-1.jar... Я хочу использовать commons-net-2.0.jar из своего кода.
Как я могу вынудить это использовать более новый JAR в моем коде только?
Я хочу использовать commons-net-2.0.jar из моего кода.
WebLogic использует стратегию первого загрузчика родительских классов , и у вас в основном есть два варианта настройки этого поведения:
weblogic.xml
Дескриптор развертывания веб-приложения (который находится в WEB-INF рядом с web.xml
) ~ или ~ weblogic-application.xml
(который входит в META-INF рядом с application.xml
) Вот пример weblogic.xml:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic- web-app.xsd">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
Вот пример weblogic-application.xml:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<application-param>
<param-name>webapp.encoding.default</param-name>
<param-value>UTF-8</param-value>
</application-param>
<prefer-application-packages>
<package-name>javax.jws.*</package-name>
</prefer-application-packages>
</weblogic-application>
Первый вариант проще, но глобален для веб-приложения. Последний вводит большую сложность, если вы в настоящее время не используете упаковку EAR, но дает более точный контроль.
Пробовали ли вы поместить необходимый JAR в \ WEB-INF \ lib в WAR, \ APP-INF \ lib в EAR или в каталог \ lib файла EAR?
Если ваш проект представляет собой автономный веб-сайт project (без EJB), размещения JAR в WEB-INF \ lib должно быть достаточно. Для корпоративных приложений, которые, возможно, имеют модули EJB и веб-модули, объединенные в файл EAR, APP-INF \ lib должен работать, хотя я не уверен в поддержке WebLogic Server каталога библиотеки (обычно это каталог \ lib в файле EAR. , но иногда настраивается через application.xml), реализованная в Java EE 5.
РЕДАКТИРОВАТЬ : В сценарии, когда библиотека сервера приложений загружается перед библиотекой, присутствующей в приложении, функция WebLogic Server фильтрованных загрузчиков классов поможет гарантировать, что приложение всегда будет загружать правильные классы из пути к классам, а не путь к классам сервера.