我今天用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文件。
問題就可能出現在這兩個目錄,所以以后遇見莫名其妙的問題可以刪除這兩個目錄中的內容,然后再試一試。