Ошибка развертывания приложения JSF в JBoss 5.1 - PullRequest
0 голосов
/ 15 марта 2012

У меня большая проблема при развертывании приложения в jboss 5.1. Когда это начинается, я получаю это:

org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl.  If not using JSP or the EL RI, make sure the context initialization parameter, com.sun.faces.expressionFactory, is properly set.

Я много чего прочитал об этой ошибке, и у меня ничего не работает.

В моем WEB-INF / lib нет jsf-api и jsf-impl.

Вот мой web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>Personnes-Front</display-name>
    <context-param>
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
    </context-param>
    <!-- Mojarra JSF -->
    <context-param>
        <param-name>com.sun.faces.numberOfViewsInSession</param-name>
        <param-value>1</param-value>
    </context-param>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:net/blog/dev/front/applicationContext.xml
        </param-value>
    </context-param>
    <context-param>
        <param-name>facelets.BUFFER_SIZE</param-name>
        <param-value>100000</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.REFRESH_PERIOD</param-name>
        <param-value>0</param-value>
    </context-param>
    <!-- JSF -->
    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <!-- Facelets -->
    <context-param>
        <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
        <param-value>com.sun.facelets.FaceletViewHandler</param-value>
    </context-param>
    <context-param>
        <param-name>org.richfaces.SKIN</param-name>
        <param-value>blueSky</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener
        </listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener
        </listener-class>
    </listener>
    <!-- JSF -->
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener
        </listener-class>
    </listener>
    <servlet>
        <servlet-name>FacesServlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>FacesServlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <!-- FILTERS -->
    <!-- RichFaces -->
    <filter>
        <filter-name>richfaces</filter-name>
        <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>richfaces</filter-name>
        <servlet-name>FacesServlet</servlet-name>
    </filter-mapping>

    <!-- Page par défaut -->
    <welcome-file-list>
        <welcome-file>private/personnesList.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

Я не понимаю, в чем проблема.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 17 марта 2012

Я нашел решение.

Jboss 5.1 поставляется с JSF 1.2.12, и эта версия, похоже, не работает с jboss el.

Так что я добавил это в свой web.xml:

<context-param>
      <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
      <param-value>true</param-value>
</context-param>

И в моем pom.xml я исправляю более новую версию (1.2.13 для примера) для jsf-api и jsf-impl и удаляю предоставленную область.

Война развернута с этой собственной версией jsf, и все отлично работает.

...