部署Java WAR文件时出错:严重:为上下文修复docBase的异常

时间:2013-01-30 08:23:43

标签: java windows macos tomcat jruby

我已经解决了这个问题,但它可以帮助那些遇到这个问题的人。过去,Stackoverflow在看似模糊和神秘的IT问题上为我节省了无数个小时。

以下是在Windows上将WAR文件部署到Tomcat时出现的错误。 WAR文件是使用JRuby& amp ;;在Mac上构建的。莺。

SEVERE: Exception fixing docBase for context [/XYZ] java.io.IOException: 
The filename, directory name, or volume label syntax is incorrect

根据其他人的说法,WAR文件已损坏,不应通过任何Zip工具打开。此情况并非如此。

相反,经过数小时的调查后发现,我在Warbler路径中有一个文件名为管道“|”的文件字符。此文件名未故意分配虽然这在Mac上很好,Windows不喜欢它。

解决方案:删除带有“|”的文件在文件名中,WAR文件成功部署!

4 个答案:

答案 0 :(得分:2)

如上所述:
解决方案:使用“|”删除文件在文件名中,WAR文件成功部署!

答案 1 :(得分:1)

我有类似的问题,但在我的情况下,WAR中有一些以“:Zone.identifier”结尾的文件。当我在 rdp会话中时,我将一些文件从Windows服务器直接复制到我的Mac的映射文件夹上的项目资源。这些文件在mac上没有引起任何问题,并且WAR也部署在这些文件来自的机器上没有问题。在所有其他Windows机器上,由于文件名中的“:”,战争以某种方式腐败。

所以不要只搜索带有“|”的文件,其他字符也会造成这种麻烦

答案 2 :(得分:0)

我遇到了类似的问题,我的问题和罗比(Robbie)一样

所以我认为我们不应该添加一些奇怪的字符,例如“ |” “-”表示我们的战争文件名

答案 3 :(得分:0)

在 Windows 10 中以管理员模式运行为我解决问题