1

I'm running WebLogic 9.2 on Windows XP Professional.

I'm getting the error(s) below when deploying my "acme" webapp ( acme.war ). However, I have no problems when deploying the same acme.war to Tomcat 6 or 7.

Between that Googling around I believe the cause may be that weblogic has some outdated libraries.

I would be grateful for help in identifying those libraries and which weblogic directory to deposit them into.

Thanks much in advance.

Error 500--Internal Server Error

java.lang.NoClassDefFoundError: javax/el/ValueExpression
    at org.apache.taglibs.standard.tag.common.core.SetSupport.doEndTag(SetSupport.java:155)
    at jsp_servlet._jsp.__header._jsp__tag12(__header.java:610)
    at jsp_servlet._jsp.__header._jsp__tag11(__header.java:575)
    at jsp_servlet._jsp.__header._jsp__tag2(__header.java:271)
    at jsp_servlet._jsp.__header._jspService(__header.java:145)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:530)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:459)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:159)
    at jsp_servlet._jsp.__login._jspService(__login.java:77)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:530)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:266)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at gov.noaa.nsd.controller.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:83)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3270)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2019)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1925)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1394)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Steve
  • 3,127
  • 14
  • 56
  • 96

1 Answers1

3

Your webapp apparently contains JSTL 1.2 libraries. JSTL 1.2 requires Servlet 2.5 / JSP 2.1. The mentioned missing class is part of JSP/EL 2.1. Weblogic 9.2 is however an old Servlet 2.4 / JSP 2.0 container (Tomcat 6 is a Servlet 2.5 container and Tomcat 7 is a Servlet 3.0 one).

In fact, you should be using JSTL 1.1 when deploying to a Servlet 2.4 container. But Weblogic itself as being a "full fledged" Java EE application server already ships with JSTL bundled. So you shouldn't need to bundle any JSTL libraries in your webapp. So to fix this particular problem, you just need to remove the JSTL 1.2 libraries from your webapp (and if applicable, also alter the web.xml to be Servlet 2.4 compliant instead of Servlet 2.5 compliant). The webapp will then use Weblogic's bundled JSTL 1.1.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
  • I originally put the JSTL libraries in my WAR to get it to compile. If I take those libraries what directory of the WebLogic installation would I put on my classpath? The jre/lib of the jdk/jrocket that comes with WebLogic? – Steve May 30 '12 at 10:26
  • Huh? You shouldn't have the need for JSTL in compiletime classpath. Or are you precompiling JSPs? What kind of IDE are you using? You could just add JSTL libs to "build path" in project's properties (and skip the deployment assembly configuration). As to the Weblogic directory, sorry I can't tell it, I have never used Weblogic. – BalusC May 30 '12 at 12:37