Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
1.1.8
-
None
-
None
-
SAP NetWeaver J2EE Engine 7.0 (WebAs Java)
Description
According to the requirement specifrication, MyFaces 1.1 is supposed to support java 1.3 or later, JSP 1.2, JSTL 1.0, and a Java Servlet 2.3 implementation. Unfortunately, the FacesConfigurator is using the javax.servlet.jsp.el package, which is only available since JSP 2.0.
Following classes to use wrongly javax.servlet.jsp.el.
- org.apache.myfaces.shared_impl.util.ClassUtils
- org.apache.myfaces.shared_impl.util._Coercions
- org.apache.myfaces.config.ManagedBeanBuilder
- org.apache.myfaces.el.ELParserHelper
- org.apache.myfaces.el.MethodBindingImpl
- org.apache.myfaces.el.ValueBindingImpl
Issue is related to the fact, that the apache commons-el 1.0 package is used, which requires the JSP 2.0 interfaces. This issue can be solved by reworking in two ways
1) Rework the interfaces for commons-el to remove the dependency for JSP 2.0
2) or by Adding the missing classes manually. You need to remove the annotations within the source code and compile it using Java 1.3
- ELException
- Expression
- ExpressionEvalutator
- FunctionMapper
- VariableResolver
The corresponding exception thrown within my j2ee container below
Error occured in invoking event "contextInitialized()" on listener class org.apache.myfaces.webapp.StartupServletContextListener. The error is: java.lang.NoClassDefFoundError: javax/servlet/jsp/el/ELException
at org.apache.myfaces.config.FacesConfigurator.feedStandardConfig(FacesConfigurator.java:308)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:276)
at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(StartupServletContextListener.java:82)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:65)
at com.sap.engine.services.servlets_jsp.server.runtime.context.WebEvents.contextInitialized(WebEvents.java:45)
at com.sap.engine.services.servlets_jsp.server.container.ApplicationThreadInitializer.run(ApplicationThreadInitializer.java:112)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)