java.lang.NoClassDefFoundError:org / apache / struts / actions / MappingDispatchAction

时间:2014-08-29 20:16:30

标签: java struts weblogic classpath ear

我在Weblogic 10.3.6.0中部署了一个EAR,我收到了下一个错误:

Error 500--Internal Server Error
java.lang.NoClassDefFoundError: org/apache/struts/actions/MappingDispatchAction
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:101)
        at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:302)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:302)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:305)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:246)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
        at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:117)
        at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:143)
        at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:280)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:218)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        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:301)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at mx.com.softtek.infra.filters.LoginFilter.doFilter(LoginFilter.java:93)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3739)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3705)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2282)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2181)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

我耳朵的结构是:

App.ear
---- META-INF
        --- Application.xml
        --- Manifest.mf (empty)
        --- weblogic-application.xml
--- App.war
        ---  jsp files
        ---  META-INF
                  -- Manifest.mf (empty)
                  -- Context.xml
        ---  WEB-INF
                  -- classes
                  -- lib
                  -- tags
                  -- tld
                  -- applicationContext.xml
                  -- struts-config.xml
                  -- validator-rules.xml
                  -- web.xml

当我登录应用程序时出现此错误(index.jsp正常并且应用程序加载良好,没有问题)。例如,我可以访问“myapplication / login /”并输入用户和密码,当我按下按钮时“登录”是struts库开始工作的时候。

我认为这是manifest.mf和类路径的一个问题,但我尝试了几次,没有任何作用。有人可以帮帮我吗? 感谢


1 个答案:

答案 0 :(得分:0)

是否可以粘贴整个错误。在过去,我已经看到它可能是由于您没有所需的类,但由于类冲突而发生了一些此类实例。

请验证以下内容:  1.您是否有多个jar引用此特定类和/或您是否有多个版本的类文件?  2.由于您使用的是10.3.6,您是否尝试过使用wls-cat?  3.您的所有数据库连接是否准确且功能正常?请取消定位并重新定位所有数据源。

整个错误的故障排除会更简单,不幸的是,我不能发表评论所以我不得不做出这个答案。当我看到整个错误时,我会很快编辑它。