2012-03-14 28 views
0

jboss 5.1でアプリケーションをデプロイすると大きな問題が発生します。それが始まると、私はこれを得ます:JBoss 5.1でjsfアプリケーションをデプロイする際のエラー

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-のimpl-APIをJSFしていません。私は問題が何であるかを理解していない

<?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> 

は、ここに私のweb.xmlのです。

ありがとうございました。

+0

あなたはあなたのアプリケーションをどのように配備していますか、jsf.deployerを使ってjsfをjbossに使っていますか? – Rachel

+0

私は戦争を構築するためにmavenを使い、最終戦争には参加しないようにjsf-apiとimplのスコープを用意しています。次に、私は展開ディレクトリーに自分の戦争を入れ、サーバーを実行するためにrun.shスクリプトを実行します。 – Kiva

答えて

0

解決策が見つかりました。 JSF 1.2.12と、このバージョンに付属している

JBossの5.1は、JBossエルでは動作しないように思われます。

は、だから私は私のweb.xmlにこれを追加しました:

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

そして、私のpom.xmlに、私はJSF-APIおよびJSF-implにとの新しいバージョン(exemple用1.2.13)をFIXE私は提供されたスコープを削除します。

戦争はこの独自のjsfバージョンで展開され、すべて正常に動作します。

関連する問題