錯誤碼如下:嚴重: IOException while loading persisted sessions: java.io.EOFExceptionjava.io.EOFExceptionat java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:226)at org.apache.catalina.session.StandardManager.load(StandardManager.java:183)at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:473)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5293)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1119)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1760)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:744)一月 02, 2014 2:38:27 下午 org.apache.catalina.session.StandardManager startInternal嚴重: Exception loading sessions from persistent storagejava.io.EOFExceptionat java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:226)at org.apache.catalina.session.StandardManager.load(StandardManager.java:183)at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:473)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5293)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1119)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1760)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:744)一月 02, 2014 2:38:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
錯誤的原因是:EOFException表示輸入過程中意外地到達檔案尾或流尾的訊號,導致從session中擷取資料失敗。這是由於tomcat上次非正常關閉時有一些活動session被持久化(表現為一些臨時檔案),在重啟時,tomcat嘗試去恢複這些session的持久化資料但又讀取失敗造成的。此異常不影響系統的使用。
可以看到,我正在使用的day56項目中多了一個sessions.ser檔案,把此檔案刪除即可tomcat即可正常的使用.
如果你的項目中不知道是哪個項目引起的.就把Catalina目錄下的所有檔案刪除,即可.