javaspringapache-camelwebspherejasper-plugin

java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl (initialization failure)


We have upgraded to Websphere 9 along with Camel 2.17, Java8 and Spring4.

Inside the package we have following jars

camel-jms-2.17.0.jar, camel-juel-2.17.0.jar, camel-spring-2.17.0.jar

Inside the was plugin folder we have the following jars, containing ElContextImpl.

 javax.j2ee.el.jar,  com.ibm.ws.webcontainer.jar

Getting the following exception while hitting the url. Not sure what is being missed as a result of which it is giving this error whether its a version mismatch, conflict or classpath issue

com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[WebExtensionProcessor]: java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl (initialization failure)
        at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:91)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateElFunction(ELValidator.java:499)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateELExpression(ELValidator.java:123)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateELExpression(ELValidator.java:150)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateCustomTagAttribute(ValidateVisitor.java:1757)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateCustomTagAttributeValues(ValidateVisitor.java:1405)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitCustomTagStart(ValidateVisitor.java:294)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:366)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:369)

Caused by: java.lang.NullPointerException
        at javax.el.CompositeELResolver.add(CompositeELResolver.java:49)
        at org.apache.jasper.el.ELContextImpl.<clinit>(ELContextImpl.java:85)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateElFunction(ELValidator.java:499)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateELExpression(ELValidator.java:123)
        at com.ibm.ws.jsp.translator.visitor.validator.ELValidator.validateELExpression(ELValidator.java:150)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateCustomTagAttribute(ValidateVisitor.java:1757)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateCustomTagAttributeValues(ValidateVisitor.java:1405)
        at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitCustomTagStart(ValidateVisitor.java:294)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:366)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:369)
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:419)

Solution

  • The issue was related to juel jar which is referred by camel.This version of the jar is for JSP 2.1; therefore, it does not support EL 3.0 which is the one being used for WAS 9.0.0.2. So I have removed this jar since no higher version of this jar is available and have replaced this with juel-impl-2.2.7.jar.

    It is working now.