在做项目的时候,忽然出现了一个超出自己知识之外的问题,就是启动Tomcat时会抛出异常,如下:
java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误
Tomcat启动后报:IOException while loading persisted sessions: java.io.EOFException错误
- IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2279)
后来网上搜索之后,找到了解决方案,把它记录在此:
产生问题的原因是:tomcat在启动的时候要读取硬盘上session,读取失败后就会产生此异常
解决方法:
分析:EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。异常是tomcat本身的问题,由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临时文件),在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用。:(1) 删除apache-tomcat-7.0.25\work\Catalina\localhost\项目名 下的session.ser文件 (推荐这种)
(2) 删除apache-tomcat-7.0.25\work\Catalina\localhost 下所有的session.ser文件
解决办法:将tomcat5.5\work\Catalina\localhost\peam\SESSIONS.ser删除。如果正常关闭服务端,该文件是自动删除的。