tomcat异常信息:
严重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream
.java:2281)
..........................
2014-5-4 21:49:41 org.apache.catalina.session.StandardManager startInternal
以上信息为项目动态部署后,tomcat控制台抛出的异常
分析:EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。异常是tomcat本身的问题,由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临时文件),在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用。
解决办法:将tomcat6.0\work\Catalina\localhost\peam\SESSIONS.ser删除。如果正常关闭服务端,该文件是自动删除的。
我参照上面方法解决的问题,用的是MyEclipse6.0,tomcat6.0。通常情况下,会认为是tomcat的缓存,会直接把整个localhost文件夹删除。但是上面的方法也是可取的,在localhost文件夹下,找到部署的工程名,在该工程名下有SESSIONS.ser文件,直接删除。重启tomcat,问题解决。
另外值得注意的是解决办法中
"将tomcat6.0\work\Catalina\localhost\peam\SESSIONS.ser删除" 写的为tomcat中默认保存项目缓存的路径,因为大家都有自己不同的目录结构,比如我的另一个tomcat目录结构是这样的:D:\elproject\.metadata\.plugins \com.genuitec.eclipse.easie.tomcat.myeclipse\tomcat\work\Catalina \localhost,在这里我恰好有三个项目,我在其中的一个目录中找到了SESSIONS.ser,并将其删除,重启,ok."