Обновить JBoss 5.1 с EL 2.1 до EL 2.2? - PullRequest
3 голосов
/ 29 июля 2011

Этот вопрос быстрый и простой.

JBoss 5.1 поставляется из коробки с поддержкой JSP и EL (Expression Language) 2.1 и Servlet 2.5.

Возможно ли обновить или взломать его доиспользуйте EL 2.2?

ОБНОВЛЕНИЕ:

Я попытался ответить на вопрос BalusC и получил следующую ошибку:

2011-08-01 10: 29: 52 418 SEVERE[javax.enterprise.resource.webcontainer.jsf.config] (main) Невозможно создать экземпляр ExpressionFactory 'org.jboss.el.ExpressionFactoryImpl' 2011-08-01 10: 29: 52,441 SEVERE [javax.enterprise.resource.webcontainer.jsf.config] (main) Критическая ошибка во время развертывания: com.sun.faces.config.ConfigurationException: кажется, что JSP-версия контейнера старше 2.1 и не может найти фабрику выражений EL RI, com.sun.el.ExpressionFactoryImpl,Если вы не используете JSP или EL RI, убедитесь, что параметр инициализации контекста com.sun.faces.expressionFactory установлен правильно.

Я не уверен, что это значит или как обойти это,Почему он думает, что есть версия JSP ниже 2.1?

1 Ответ

7 голосов
/ 01 августа 2011

Нет, хотя замена библиотек является тривиальной задачей, вам все-таки придется заново объявить сервлет 3.0 * в соответствии с *, чтобы заставить его работать. Это не будет распознаваться JBoss 5.1 (который является сервлетом 2.5), не заменяя все его библиотеки на те же, что и в JBoss 6.0 (который является сервлетом 3.0). Было бы проще просто обновить все до JBoss 6.0.

Я понимаю, что вы используете JSF 2.0 (если посмотреть на старые теги вопросов). Если единственное функциональное требование состоит в том, чтобы поддерживать вызовы метода действия базового компонента JSF с аргументами, как это возможно в EL 2.2, то лучше всего поместить копию файла JBoss-EL JAR в /WEB-INF/lib вашего webapp и добавьте следующий контекстный параметр в web.xml вашего веб-приложения, предполагая, что вы используете Mojarra.

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

Нет, его невозможно настроить на уровне JBoss. Вы действительно должны сделать это на уровне веб-приложения. Подробнее о JBoss EL (который был инициатором вызова методов с аргументами в EL), см. Главу 34 документации Seam .

...