Может ли JSF 2.0 использоваться с сервером приложений Websphere версии 7.x
Может ли JSF 2.0 использоваться с WebSphere Application Server версии 7.x?
Если да, то как?
Ответы
Ответ 1
WebSphere Infocenter указывает, что правильный путь к альтернативной реализации JSF заключается в создании общей библиотеки WebSphere с включенной опцией изолированного класса.
Любые модули, которые нуждаются в JSF 2, будут связаны с новой общей библиотекой, а затем приложение начнет работу с JSF 2 вместо JSF 1.2.
Кроме того, необходимо установить пакет исправлений 7.0.0.19 или более поздней версии.
Ответ 2
Websphere поставляется с JSF 1.2.something и загружает это по умолчанию. Чтобы использовать другую библиотеку JSF (или любую другую библиотеку, которую предоставляет WS, например, ведение общедоступных записей), вам необходимо изменить способ определения приоритетов для классов. Они называют его "parent last", что означает загрузку ваших библиотек, а затем версий WS.
Ответ 3
Я изо всех сил пытался решить это в течение нескольких дней. Вот как я это решил.
Используйте следующую библиотеку: javax.faces-2.1.7.jar
Если вы используете PrimeFaces 3.1: primefaces-3.1.1.jar
Экземпляр сервера приложений: Загрузка классов - последний родительский
Экземпляр Enterprise Application (военный модуль): Загрузка класса - родительский последний
Обязательно удалите все библиотеки контейнеров сервлетов, такие как те, которые необходимы Tomcat.
Ответ 4
Пошаговая настройка 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
Ответ 5
Мой опыт:
- > WAS 7.0.0.11 для Windows
- > javax.faces-2.0.11.jar в WEB-INF/lib моего приложения War
- > WAS Общие librairies с javax.faces-2.0.11.jar с изолированным загрузчиком классов
- > WAS Общие librairies, связанные с моим War App
- > Никаких изменений в Class Loader, например, и приложения (PARENT_FIRST)
С помощью этого conf (выше) приложение отлично работает с JSF 2.0 на WAS 7.
если я удалю javax.faces-2.0.11.jar из моего приложения War, он не работает.
Ответ 6
После меня работали
- Создайте общую библиотеку и разместите в ней 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>
Вот оно.
Ответ 7
Привет, я могу запустить свой сайт с помощью этих библиотек
![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)
Привет
Ответ 8
Спасибо, ребята!
Он работал с более новой версией 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 приложения и модуля на настройки (parent last):
https://www.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.doc/info/ae/ae/urun_rclassloader_inst.html
Привет