2014-02-11 55 views
0

这一直让我发疯。当我保存一些东西时,Tomcat零星地崩溃,出现以下错误...编辑JSP或Java文件。保存你的工作。那么可能有25%的概率发生崩溃......这里的线索是,它大部分时间都能正常工作。Eclipse/Tomcat不断在SESSIONS.ser上崩溃

崩溃后,一个简单的服务器重新启动会再次修复它。

我已将Google搜索到死亡。

  • 我知道这与保存重新启动之间重新加载的会话有关。但在发展的同时,这是一个很大的帮助。所以我不想禁用它。

  • 我知道这听起来像是一个文件夹权限问题。但大部分时间它都能正常工作。即我可以在资源管理器中观看文件夹并查看文件SESSIONS.ser出现并正确消失。它通常不会炸毁。

  • 我已验证整个相关Workspace文件夹结构不包含在AV和备份软件中。

但仍...不断崩溃。

请帮忙。我的想法......

感谢

使用:Eclipse的开普勒下,Tomcat 7.0.45,爪哇1.7.0_45-B18 64位的Windows 7专业版64位,16GB内存。

Feb 11, 2014 11:00:15 AM org.apache.catalina.session.StandardManager doUnload 
SEVERE: IOException while saving persisted sessions: java.io.FileNotFoundException: D:\Workspace\Tomcat\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\_\SESSIONS.ser (The system cannot find the path specified) 
java.io.FileNotFoundException: D:\Workspace\Tomcat\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\_\SESSIONS.ser (The system cannot find the path specified) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:386) 
    at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353) 
    at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5622) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3947) 
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519) 
    at java.lang.Thread.run(Unknown Source) 

Feb 11, 2014 11:00:15 AM org.apache.catalina.session.StandardManager stopInternal 
SEVERE: Exception unloading sessions to persistent storage 
java.io.FileNotFoundException: D:\Workspace\Tomcat\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\_\SESSIONS.ser (The system cannot find the path specified) 
    at java.io.FileOutputStream.open(Native Method) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at java.io.FileOutputStream.<init>(Unknown Source) 
    at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:386) 
    at org.apache.catalina.session.StandardManager.unload(StandardManager.java:353) 
    at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5622) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3947) 
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519) 
    at java.lang.Thread.run(Unknown Source) 
+0

您是否检查存在路径? – Stefan

+0

当然。它存在,你可以看到文件显示并消失(当它不崩溃)。 – PrecisionPete

回答

0

尝试在您的web.xml中添加metadata-complete =“true”并重新启动tomcat。它解决了我的另一个丢失的文件问题,但我仍然不确定它为什么对我有用。

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
version="2.5" metadata-complete="true">