问题
web通常通常需要依赖jsp、servlet包,但用IDE(myeclipse)调试/发布,这些包将被部署,与所运行的web服务器重复,因为各自的class loader不同,导致类找不到或者版本不同等错误。
解决方法:
1)先把工程deploy一下/或者运行一下,关掉。在调试环境中找到WEB-INF/lib,copy里面的所有lib到下面图所示需要发布的lib目录。
2)把里面的jsp-api.jar、servlet-api.jar移动到src外面的lib目录(没有则新建)。
3)设置工程属性,web项对应的部署lib均去掉,这样运行后不部署工程依赖的lib,但WEB-INF/lib下的将被部署(因为在src目录)。
4)增加工程依赖包,下面两个lib里的jar。