Можно ли использовать JSF 2.0 с сервером приложений Websphere версии 7.x - PullRequest
14 голосов
/ 12 ноября 2009

Может ли JSF 2.0 использоваться с WebSphere Application Server версии 7.x?

Если да, то как?

Ответы [ 8 ]

13 голосов
/ 06 февраля 2010

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

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

Также необходимо иметь пакет исправлений 7.0.0.19 или более поздней версии .

0 голосов
/ 09 сентября 2016

Спасибо, ребята!

Работает с более новой версией 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

С уважением

0 голосов
/ 26 ноября 2015

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

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 Last)

Привет

0 голосов
/ 09 октября 2013

подписка сработала у меня

  • Создайте общую библиотеку и поместите в нее ваши файлы JSF 2.0.
  • Также добавьте EL 2.2 API и EL-Impl 2.2 jars, поскольку JSF 2.0 явно нуждается в этом.
  • Добавьте эту библиотеку в ваше приложение и задайте для загрузчика классов значение 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 голосов
/ 15 мая 2013

Мой опыт:

-> WAS 7.0.0.11 в Windows

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

-> Общие библиотеки WAS с javax.faces-2.0.11.jar с изолированным загрузчиком классов

-> Общие библиотеки, связанные с моим военным приложением

-> Без изменений в Class Loader для экземпляра и приложения (PARENT_FIRST)

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

0 голосов
/ 20 апреля 2012

Пошаговая установка MyFaces 2.0 на WebSphere Application Server v7 в качестве разделяемой библиотеки, как 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 голосов
/ 14 марта 2012

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

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

Если вы используете PrimeFaces 3.1: primefaces-3.1.1.jar

Экземпляр сервера приложений: Загрузка класса - последний родительский элемент

Экземпляр корпоративного приложения (военный модуль): Загрузка класса - последний родительский элемент

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

0 голосов
/ 04 января 2010

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

...