首页 > 解决方案 > websphere 8.5.5 中的 java.lang.NoClassDefFoundError 发生在生产中但不在 UAT 中

问题描述

我正在生产中的 Websphere 中部署一个 struts 应用程序,该应用程序已在 UAT 中签署,但在生产中部署完全相同的 war 文件时会出现以下错误。

E com.ibm.ws.webcontainer.servlet.ServletWrapper 服务 SRVE0014E:未捕获的服务()异常根本原因 /JSP/NewCommercialSearch.jsp:com.ibm.websphere.servlet.error.ServletErrorReport:java.lang.NoClassDefFoundError:org.apache .commons.fileupload.FileItemFactory 在 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:733) 在 com.ibm._jsp._NewCommercialSearch._jspService(_NewCommercialSearch.java:1132) 在 com.ibm.ws.jsp .runtime.HttpJspBase.service(HttpJspBase.java:99) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235 ) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) 在 com.ibm.ws 的 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)。网络容器。servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) 在 com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) 在 com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper. java:220) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:78) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:143) 在 com.ibm .ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:979) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1119) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher .dispatch(WebAppRequestDispatcher.java:1408) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher。forward(WebAppRequestDispatcher.java:198) at com.creditwave.pl.agriworx.action.ActionServlet.doForward(ActionServlet.java:368) at com.creditwave.pl.agriworx.action.ActionServlet.doTask(ActionServlet.java:340)在 com.creditwave.pl.agriworx.action.ActionServlet.doGet(ActionServlet.java:163) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 在 javax.servlet.http.HttpServlet.service(HttpServlet .java:790) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779) 在 com。 ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) 在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) 在 com.ibm.ws.webcontainer.filter。 WebAppFilterChain.invokeTarget(WebAppFilterChain.java:143) 在 com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:78) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:979) 在 com.ibm .ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1119) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1408) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher .forward(WebAppRequestDispatcher.java:198dispatch(WebAppRequestDispatcher.java:1408) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:198dispatch(WebAppRequestDispatcher.java:1408) 在 com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:198

标签: aix

解决方案


ajava.lang.NoClassDefFoundError通常发生在特定类的时候,这里org.apache.commons.fileupload.FileItemFactory是在运行时找不到的。如果它适用于 UAT 但不适用于生产,我建议检查您的两个 webspheres 是否在库方面的所有内容都对齐,我怀疑生产中缺少一些东西。


推荐阅读