直接使用MyEclipse添加Struts2.1之后,将项目部署到Tomcat中,启动Tomcat,直接输出未找到org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个类,而在struts2的core jar包中又能找到该类,这是怎么一回事儿呢?
Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF/目录下(Eclipse会把src目录下的所有非*.java文件复制到WEB-INF/classes目录下),所以Tomcat说找不到所需要的类。
解决方法:
在你添加的struts2.1依赖库下,可以看到这些jar包默认是在MyEclipse里面的一个目录里面,如我的是在:D:\Program Files\MyEclipse\configuration\org.eclipse.osgi\bundles\105\1\.cp\data\2.1\core下,因此我们可以直接根据提示路径找到struts2.1的jar包之后,直接将所有的包复制,然后粘贴到该项目的WEB-INF\lib目录中,再次重启Tomcat就可以看到正常启动了。
千万不要怀疑是配置文件写错了,那就走上了邪路。
Tomcat默认从WEB-INF/目录下加载资源,Eclipse在发布程序的时候,并没有把User Libraries的相关资源拷贝到WEB-INF/目录下(Eclipse会把src目录下的所有非*.java文件复制到WEB-INF/classes目录下),所以Tomcat说找不到所需要的类。
解决方法:
在你添加的struts2.1依赖库下,可以看到这些jar包默认是在MyEclipse里面的一个目录里面,如我的是在:D:\Program Files\MyEclipse\configuration\org.eclipse.osgi\bundles\105\1\.cp\data\2.1\core下,因此我们可以直接根据提示路径找到struts2.1的jar包之后,直接将所有的包复制,然后粘贴到该项目的WEB-INF\lib目录中,再次重启Tomcat就可以看到正常启动了。
千万不要怀疑是配置文件写错了,那就走上了邪路。