移除部署项目struts出现这个异常NoClassDefFoundError,求解释

bbos1994 2014-10-11 10:50:36
struts2,,,移除部署项目总是不能移除,拋NoClassDefFoundErrororg.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MyStudent3.0]]
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3920)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1357)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1451)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1374)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
at java.lang.Thread.run(Thread.java:744)
》》》》》》》》》》》》》》》》》》》》》》》》》》
Caused by: java.lang.NoClassDefFoundError: org/apache/struts2/util/ObjectFactoryDestroyable
at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:262)
at org.apache.struts2.dispatcher.ng.PrepareOperations.cleanupDispatcher(PrepareOperations.java:179)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.destroy(StrutsPrepareAndExecuteFilter.java:100)
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:311)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4686)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
... 12 more

这是怎么回事。。。。。。求详解,谢谢。。。。用的MyEclipse,自带的tomcat7
...全文
131 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
humanity 2014-10-14
  • 打赏
  • 举报
回复
这看上去是当 tomcat 在重新启动这个 web-app 的一个新的 classloader 时与另一个 class loader 中的类有版本冲突,就是说类名相同但实际上在不同的类加载器中,当找相关的另一个类 C 时它以为相关 C 应该在当前类加载器中却找不到。不过,我猜不出来到底是哪个类的加载器位置配置不一致导致 tomcat 会出错类加载器串位。 你这个 struts 和 tomcat 有没有什么类库是共用的,比如 apache logging jar 在什么位置?一般来说通用型的 API (与版本相关性低,比如一个服务器完全可以用同一个版本)时可以考虑直接用服务器上的那一个,不要再在 WEB-INF/lib 下又放一个。
bbos1994 2014-10-12
  • 打赏
  • 举报
回复
求各路大神解答。。。。。。。。。。。。。
bbos1994 2014-10-11
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
去tomcat文件目录下去删,然后连同work文件夹一起干掉~
我已经这么做了,但是有没有解决这个bug的方法????
  • 打赏
  • 举报
回复
去tomcat文件目录下去删,然后连同work文件夹一起干掉~
bbos1994 2014-10-11
  • 打赏
  • 举报
回复
引用 3 楼 bayougeng 的回复:
貌似tomcat的classloader issue。 http://struts.1045723.n5.nabble.com/quot-java-lang-NoClassDefFoundError-org-apache-struts2-util-ObjectFactoryDestroyable-quot-td3499636.html 这个上面有说怎么导致的和该怎么做
我的项目没有牵扯到hot deploy和ant,,,这个帖子中的方法好像对我的项目不怎么奏效
bayougeng 2014-10-11
  • 打赏
  • 举报
回复
貌似tomcat的classloader issue。 http://struts.1045723.n5.nabble.com/quot-java-lang-NoClassDefFoundError-org-apache-struts2-util-ObjectFactoryDestroyable-quot-td3499636.html 这个上面有说怎么导致的和该怎么做

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧