1. 程式人生 > >(全面)Tomcat執行時,報異常:IOException while loading persisted sessions: java.io.EOFException

(全面)Tomcat執行時,報異常:IOException while loading persisted sessions: java.io.EOFException

JDK1.7+Tomcat7.0+SSM

一月 02, 2019 8:35:28 下午 org.apache.catalina.session.StandardManager doLoad
嚴重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
	at java.io.ObjectInputStream.<init>(Unknown Source)
	at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:56)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:244)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:202)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:489)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5476)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

一月 02, 2019 8:35:28 下午 org.apache.catalina.session.StandardManager startInternal
嚴重: Exception loading sessions from persistent storage
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
	at java.io.ObjectInputStream.<init>(Unknown Source)
	at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:56)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:244)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:202)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:489)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5476)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

tomcat啟動時報:IOException while loading persisted sessions: java.io.EOFException的解決方案

該文章有解釋異常發生原因並有對應的解決方案,但是對我的而言,卻不能解決,因為根據其文章給予的路徑,我找不到“SESSIONS.ser”檔案(我的WEB專案名為MVCQ)

 我使用的Tomcat7.0,不是EXE可執行檔案,而是如圖:

但是我還是找:(因為看完上面給出文章的我以為ser檔案在Tomcat中)

Catalina資料夾下只有localhost子資料夾, 而localhost資料夾裡沒有MVCQ專案
子資料夾,所以我去看看存在的子資料夾裡面有沒有"SESSIONS.ser"檔案,發現都沒有!!!

接著我找其他文章(指本文章底部的參考給出的連結),發現在含Web專案的資料夾“Ecli”中的".metadata"中!!!

在"F:\ALL_Course\10Activiti\Ecli\.metadata\.plugins\org.eclipse.wst.server.core\tmp4\work\Catalina\localhost"中找到我的Web專案“MVCQ”(對應文章的ser檔案是在tmp0臨時資料夾中,我的在tmp4資料夾中)

開啟“MVCQ”發現就有了“SESSIONS.ser”檔案(你
可以通過檔案管理器的右上方的搜尋欄 快速查詢) 

刪除了該檔案,就不會報異常了(其實該異常不影響系統執行) 

[無論使用了SVN還是沒有使用SVN,只要有這個異常,要麼在Tomcat的work資料夾下,要麼在“Ecli”(含Web專案的資料夾)中的tmp臨時資料夾中]

參考:

eclipse啟動Tomcat時報錯:嚴重: IOException while loading persisted sessions: java.io.EOF