Closed ops4j-issues closed 8 years ago
Achim Nierbeck commented
The extraction of javax.el from the jsp bundle leads to a
javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found
at javax.el.FactoryFinder.newInstance(FactoryFinder.java:101)
at javax.el.FactoryFinder.find(FactoryFinder.java:197)
at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:189)
Achim Nierbeck commented
to worsen this, the Tomcat Jasper needs specific classes which are only available to the Tomcat own EL javax.el:
2015-12-22 11:40:30.189:WARN:oejs.ServletHandler:qtp199266917-56:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/StaticFieldELResolver
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.ops4j.pax.web.jsp.JspServletWrapper$2.call(JspServletWrapper.java:159)
Achim Nierbeck commented
First tests in a special branch:
https://github.com/ops4j/org.ops4j.pax.web/commit/dbf133b85e14247de6c0752b19318c30196ea737
Achim Nierbeck commented
The missing class is part of javax.el-api 3.0.
Now the fun really starts, MyFaces requires javax.el in version < 3, so actually JSP/JSF and EL ist totally broken right now. It's merely not possible to get this stuff to work together ...
Achim Nierbeck commented
To finally fix this issue, it's essential to have MyFaces fixed with an increased version range:
https://issues.apache.org/jira/browse/MYFACES-4027
Achim Nierbeck commented
works in special PAXWEB-929 branch:
https://github.com/ops4j/org.ops4j.pax.web/commit/5b604b54435979e7894a472c132d9b9b4355285a
Achim Nierbeck commented
merged back into master:
https://github.com/ops4j/org.ops4j.pax.web/commit/dbf133b85e14247de6c0752b19318c30196ea737
Marc Schlegel commented
I am trying to enable the JSF-tests for Tomcat which were blocked by this issue (see PAXWEB-993 ).
First, I got javax.el.ELException: Provider com.sun.el.ExpressionFactoryImpl not found which can be fixed by importing org.apache.el in the actual WAB. Only then the Service-Locator specified in pax-web-jsp can load the class. This import is not necessary for jetty, nor undertow.
Once this got fixed, the application is still not accessible though log-messages are locking fine. I've commited a branch with the 2 tests enabled again.
Achim Nierbeck created PAXWEB-929
Affects: 6.0.0 Fixed in: 6.0.0 Votes: 0, Watches: 2
Referenced issues
blocks:
1310 - Enable Tomcat-Test which were blocked by PAXWEB-929 [PAXWEB-993]
is duplicated by:
1320 - Pax-web-jsp exports javax.el [PAXWEB-1029]