Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to locate the EL RI expression factory

Tags:

jsp

jsf

el

I am getting the following exception in my application.

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.

How to set the EL details in the web.xml.

like image 746
Krishna Avatar asked Jan 31 '11 10:01

Krishna


2 Answers

The exception is telling that JSP 2.1 is required. You need to ensure that your web.xml is declared as Servlet 2.5 or newer, and that your servletcontainer supports it (Tomcat 6, Glassfish 2, JBoss AS 5, etc, or newer). JSP 2.1 goes hand in hand with Servlet 2.5. A proper Servlet 2.5 declared web.xml starts as follows:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    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"
    version="2.5">

    <!-- Config here. -->

</web-app>

If you're using an older versioned servletcontainer which you can really not upgrade to at least a Servlet 2.5 compatible one, then you need to let us know first which one it is so that we can if possibly post more suited answers/workarounds.

like image 60
BalusC Avatar answered Oct 05 '22 23:10

BalusC


This is because latest el jar is not in classpath. It worked for me too

(Reference)Please refer the link JSF 2.0 + Tomcat : It appears the JSP version of the container is older than 2.1…

like image 22
Sudhakar Avatar answered Oct 06 '22 00:10

Sudhakar