我今天用Struts2与Spring整合,但部署到Tomcat(tomcat-6.0.20)时,WabAppClassLoader却给我抛出了一个异常:ClassNotFindException:xxx.ActionServlet。ActionServlet是Struts1中使用的Action控制器。但我使用的是Struts2啊!
我反复查看自己的配置文件和使用到的Jar包,没有任何问题。然后到网上搜索答案,出现这个问题的人还不少。有的是使用Strut1出现这个问题,那么他可能是没有导入Struts1的核心包导致的。至于使用Struts2也出现这个问题多少就有些奇怪了。
一些网友给出答案,是将Tomcat删除,然后安装一个新的Tomcat这样就可以解决问题。确实如此,我使用这个方法解决了问题。但为什么会出现这个问题呢?我最先想到的是Tomcat可能有缓存功能,于是我查看Tomcat的目录。发现它有一个temp目录和一个work目录,temp目录是做什么用的我不知道,work目录是为我们生成JSP的class文件。
问题就可能出现在这两个目录,所以以后遇见莫名其妙的问题可以删除这两个目录中的内容,然后再试一试。