我已经解决了这个问题,但它可能会帮助那些偶然发现这个问题的人。Stackoverflow 在过去看似晦涩难懂的 IT 问题上为我节省了无数时间。
这是我在 Windows 上将 WAR 文件部署到 Tomcat 时遇到的错误。WAR 文件是在 Mac 上使用 JRuby 和 Warbler 构建的。
SEVERE: Exception fixing docBase for context [/XYZ] java.io.IOException:
The filename, directory name, or volume label syntax is incorrect
根据 SO 上的其他人的说法,WAR 文件已损坏,不应通过任何 Zip 工具打开。此情况并非如此。
相反,经过数小时的调查,事实证明我在 Warbler 路径中有一个文件,文件名中有管道“|” 特点。这个文件名不是故意分配的 虽然这在 Mac 上很好,但 Windows 不喜欢它。
解决方案:删除带有“|”的文件 在文件名中,瞧,WAR 文件部署成功!