关于在使用tomcat做开发测试的某些时候无端报ClassNotFound异常的解决方法
很多人都使用tomcat来作为java web项目的服务器,特别是在开发阶段,选择的人更多。本文所说的问题针对tomcat的开发环境,在正式环境中不会出现这个问题。 前段时间,在进行项目运行的时候出现了一件怪事:一个类明明就有,但是tomcat在启动的时候就是要反复报“java.lang.ClassNotFoundException”,经过不断检查,上网查询,终于找到了原因并解决之,下面做一些说明,希望对其他人有所帮助。 0、重现 要重现这个问题,需要满足一些条件:在开发的IDE中进行部署(如eclipse,这是很常见的),项目中有用户登录的操作,连续的直接重启服务器(这在开发中也是很常见的)。 这个问题并不是每次都会出现,只不过出现的概率也是挺大的,出现的时候报的错误就是说的用于在session中保存用户登录的那个类找不到,服务器也启动成功,但是看到有异常总感觉不舒坦,就想解决了她。 1、原因 出现这个问题的原因就是tomcat在关闭的时候会保存当前存在的session对象,然后在启动的时候恢复,这个的具体过程没有去研究过,不过关于这个的例子大家可以试一试——就是在正式环境(不是在IDE中部署)中,用户登录之后不关闭浏览器,使用tomcat的shutdown脚本关闭服务器,然后在启动服务器,就可以看到浏览器的session还是有效的。 这个功能默认都是开启的