最近,我们的一台Tomcat服务器开始无法部署WAR文件。我们在webapps目录中有一个现有版本的WAR以及解压缩版本。当我们将新版本的WAR文件放入webapps目录时,它不会解压缩新的WAR并且应用程序会死掉。如果我删除旧的解压缩版本,有时它会解压缩新版本。其他时候我必须重启Tomcat才能重启。
在catalina日志中,我发现以下错误:
WARNING: Error during context [/pos] destroy
java.lang.StackOverflowError
at sun.nio.cs.UTF_8$Encoder.encodeLoop(UTF_8.java:575)
at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:342)
at java.lang.StringCoding.encode(StringCoding.java:378)
at java.lang.String.getBytes(String.java:812)
at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
at java.io.File.isDirectory(File.java:723)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:360)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
at org.apache.catalina.startup.ExpandWar.delete(ExpandWar.java:361)
最后一行重复了几百次。
然后还有其他错误。我很乐意将它们粘贴,但我怀疑第一个错误是最可能的罪魁祸首。
这意味着什么?
一旦我删除旧的解压缩并在必要时重新启动,一切似乎都很好。
我们在Red Hat Linux 2.6.18上运行Tomcat 5.5.23。
答案 0 :(得分:0)