2009-11-11 10 views

ответ

0

Websphere поставляется с JSF 1.2.something и загружает его по умолчанию. Чтобы использовать другую библиотеку JSF (или любую другую библиотеку, которую предоставляет WS, например, ведение общедоступных записей), вам необходимо изменить способ определения приоритетов для классов. Они называют его «родителем последним» означают загружать ваш ЛИЭС то версии WS.

+0

Да, но родительский последний не является вариантом, когда у вас несколько приложений, использующих более старую версию. – Shahzeb

13

WebSphere Infocenter указует, что правильный способ изменить к альтернативной реализации JSF является создание WebSphere Shared Library с изолированной опцией загрузчика классов включены.

Любые модули, которые нуждаются в JSF 2 будет связан с новой разделяемой библиотеки, а затем приложение будет начинаться с JSF 2 вместо JSF 1.2.

также necessary to have fix pack 7.0.0.19 or later installed.

+0

. Вы рассказываете о информации, предоставленной на сайте IBM Infocenter, но вы не предоставляете ссылку. Зачем? –

+6

http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/tweb_jsf.html – Rick

+0

Может быть, я «Я делаю что-то неправильно, но это не сработало для меня. Когда я выполняю эти инструкции, он все равно пытается загрузить справочную реализацию SUN JSF-1.2. –

0

Я с трудом Решите это в течение нескольких дней. Вот как я это решил.

Используйте следующую библиотеку: javax.faces-2.1.7.jar

Если вы на PrimeFaces 3.1: primefaces-3.1.1.jar экземпляра

Application Server: Class Погрузка - родитель Последний

экземпляр Enterprise Application (война Module): Класс нагрузки - родитель Последний

Обязательно удалите все библиотеки контейнеров Servlet, такие как те, которые необходимы Tomcat.

+0

Вы использовали реализацию GlassFish? Поиск по имени jar предполагает, что. Было ли это с помощью WebSphere 7.0? –

0

Шаг за шагом настройки MyFaces 2,0 на v7 WebSphere Application Server в качестве разделяемой библиотеки, как IBM рекомендует: http://wasbehindtheglass.blogspot.co.uk/

Я применил аналогичные шаги для Majorra/JSF 2.0.4 и создали общую библиотеку, используя только JSF-API .jar и jsf-impl.jar. Поскольку @Ian McLaird сказал, что WAS 7.0.0.19 и JSF 2.0.4 требуются. JSF 2.1.x требует Servlet 3 и не поддерживается WAS7

+0

И если вы используете RAD, и вы не хотите изменять набор разделяемой библиотеки из консоли администратора WAS7 при каждом развертывании приложения, тогда вы можете включить в свой проект дескриптор развертывания (с именем deploy.xml), который устанавливает общая библиотека.См. Ссылку для получения дополнительной информации: http://www.webspheretools.com/sites/webspheretools.nsf/docs/How%20to%20set%20the%20class%20loading%20policy%20to%20parent%20last%20using%20configuration%20files% 20shipped% 20within% 20the% 20EAR – iyildiz

+0

Вы пытались с MyFaces 2.1 или пишете, что он не будет работать на другом источнике? Если да, можете ли вы опубликовать его? –

0

Мой опыт:

-> WAS 7.0.0.11 на Windows,

-> javax.faces-2.0.11.jar в WEB- INF/Lib моего приложения войны

-> разделял librairies с javax.faces-2.0.11.jar с Изолированным классом Loader

-> разделял librairies, связанный с моей войной App

не

-> Никаких изменений в загрузчик классов, например, и применения (PARENT_FIRST)

С этой конф (выше) приложение отлично работает с JSF 2.0 на WAS 7. если я удалить javax.faces-2.0.11.jar из моего приложения War, это не работает.

0

Вслед работал для меня

  • Создать разделяемую библиотеку и положить ваши банки JSF 2.0 в нем.
  • Также добавить EL 2.2 API и EL-Impl 2.2 баночки, так как JSF 2.0 неявно нуждается в этом.
  • Добавьте эту библиотеку к вашему приложению и сделайте предпочтение classloader как PARENT_LAST.

Изменение web.xml следующим

<context-param> 
       <param-name>com.sun.faces.expressionFactory</param-name> 
       <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
    </context-param> 
    <listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 

это так.

0

Привет я мог бы запустить свой сайт с помощью этой библиотеки

librerias

Настройки в web.xml моего проекта

<context-param> 
    <param-name>com.sun.faces.expressionFactory</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 

Настройки в WebSphere, чтобы загрузить свои библиотеки (Parent) Последнюю

С уважением

0

Thank y о, ребята!

Он работал с более новой версией javax.faces. См зависимости Maven:

<dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.faces</artifactId> 
     <version>2.1.29-08</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.el</groupId> 
     <artifactId>el-api</artifactId> 
     <version>2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.el</groupId> 
     <artifactId>el-impl</artifactId> 
     <version>2.2</version> 
    </dependency> 

Не забудьте добавить следующее в вашем web.xml:

<context-param> 
    <param-name>com.sun.faces.expressionFactory</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 

И, наконец, изменить класс загрузчика порядка WebSphere приложения и модуля к (родительский последний) настройки: https://www.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.doc/info/ae/ae/urun_rclassloader_inst.html

С уважением