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

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

我们已经升级到 Websphere 9 以及 Camel 2.17、Java8 和 Spring4。

包内有以下罐子

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

在 was 插件文件夹中,我们有以下 jar,其中包含 ElContextImpl。

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

点击 url 时出现以下异常。不确定由于版本不匹配、冲突或类路径问题而导致此错误的结果是遗漏了什么

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)

此问题与 camel.This 引用的 juel jar 有关,该 jar 版本适用于 JSP 2.1;因此,它不支持 EL 3.0 用于 WAS 9.0.0.2。 所以我删除了这个 jar,因为没有更高版本的这个 jar 可用,并将其替换为 juel-impl-2.2.7.jar。

现在正在运行。