移除部署项目struts出现这个异常NoClassDefFoundError

J2EE 码拜 10年前 (2015-04-09) 1161次浏览 0个评论
 

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

移除部署项目struts出现这个异常NoClassDefFoundError
5分
去tomcat文件目录下去删,然后连同work文件夹一起干掉~
移除部署项目struts出现这个异常NoClassDefFoundError
引用 1 楼 shijing266 的回复:

去tomcat文件目录下去删,然后连同work文件夹一起干掉~

我已经这么做了,但是有没有解决这个bug的方法????

移除部署项目struts出现这个异常NoClassDefFoundError
5分
貌似tomcat的classloader issue。
http://struts.1045723.n5.nabble.com/quot-java-lang-NoClassDefFoundError-org-apache-struts2-util-ObjectFactoryDestroyable-quot-td3499636.html
这个上面有说怎么导致的和该怎么做
移除部署项目struts出现这个异常NoClassDefFoundError
引用 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,,,这个帖子中的方法好像对我的项目不怎么奏效

移除部署项目struts出现这个异常NoClassDefFoundError
求各路大神解答。。。。。。。。。。。。。
移除部署项目struts出现这个异常NoClassDefFoundError
10分
这看上去是当 tomcat 在重新启动这个 web-app 的一个新的 classloader 时与另一个 class loader 中的类有版本冲突,就是说类名相同但实际上在不同的类加载器中,当找相关的另一个类 C 时它以为相关 C 应该在当前类加载器中却找不到。不过,我猜不出来到底是哪个类的加载器位置配置不一致导致 tomcat 会出错类加载器串位。

你这个 struts 和 tomcat  有没有什么类库是共用的,比如 apache logging jar 在什么位置?一般来说通用型的 API (与版本相关性低,比如一个服务器完全可以用同一个版本)时可以考虑直接用服务器上的那一个,不要再在 WEB-INF/lib 下又放一个。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明移除部署项目struts出现这个异常NoClassDefFoundError
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!