最近做毕设,准备用一下Structs2的路由。但是使用IDEA新建项目的时候出现了“ClassNotFoundException: org…dispatcher.ng.filter.StrutsPrepareAndExecuteFilter”错误。
1.这个时候打开web.xml文件,发现filter –>>filter-class项是红色的,找不到这个类。然后查看struct-core这个jar包。发现路径是错的,“org.apache.struts2.dispatcher***.ng***.filter.StrutsPrepareAndExecuteFilter”.这个ng是没有的(看了几篇博客,这可能是struct2的版本不同导致的问题).去掉之后web.xml文件恢复正常.
2.重启服务器依然会报错.这个问题在这里.
https://blog.csdn.net/njnu_mjn/article/details/6684661
具体原因引用这个博主的话是这样的:
Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF/目录下(Eclipse会把src目录下的所有非.java文件复制到WEB-INF/classes目录下),所以Tomcat说找不到所需要的类。*
3.但是在IDEA下解决方案稍微有点不同
点击file=>project structure,选择artifacts目录.一般情况下这里会提示错误,直接点击“fix”解决就可以了。如果没有提示,在WEB-INFO下新建lib文件夹,点击“+”号,将struct的jar包添加到这里。
到这里问题应该就解决了。
4.然后不知道什么原因,IDEA又提示了个 Javassist library is missing in classpath! Please add missed dependency!错误。
可见IDEA新建的项目并没有以前可靠了,悲伤。。。这个只需要去百度Javassist 的jar包,然后file=>project structure,在libraries中添加到项目里就可以了。
IDEA下ClassNotFoundException: org...dispatcher.ng.filter.StrutsPrepareAndExecuteFilter错误的解决
最新推荐文章于 2022-08-17 19:17:00 发布