首页 > 代码库 > Eclipse配置Struts2问题:ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

Eclipse配置Struts2问题:ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

使用ssh搭建web项目,但是环境配置好后,挂载到tomcat服务器上就出现此异常

技术分享

根据错误提示,意思是找不到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,一开始以为在web.xml文件中配置错误,于是找到类名复制粘贴(右击copy qualified name),保存重新运行,依然出现同样的错误,说明路径拼写没有问题。

技术分享

最后我思路是在创建web项目中,WEB-INF的lib文件夹下面build path点击configure build path...包会自动add to build path到Libraries中,而lib文件中没有jar包

技术分享

接着将struts2的jar包手动复制到lib文件夹中

技术分享

重新运行程序,服务器启动成功!也就是说,Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF/目录下(Eclipse会把src目录下的所有非*.java文件复制到WEB-INF/classes目录下),所以Tomcat说找不到所需要的类。

Eclipse配置Struts2问题:ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter