Tomcat解压war 的一点例外[转]

来源:http://www.javaresearch.org/article/8261.htm



   我在项目的开发过程中,发现Tomcat解压war 的一点例外。
   
   现象如下:
       使 用ANT工具把web应用程序打包为war文件。然后把war文件放到tomcat的webapps,让tomcat自己解压。结果出现解压的web应用 程序文件丢失。使用rar工具打开war文件。文件都齐全。怎么会出现这种现象呢??查看tomcat的log文档。发现在解压war文档出现 NullpointException.我升级tomcat到5.0还是出现这种现象。

jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java

   解决方法:

       我 从tomcat网站下载了catalina 的原代码,进行分析。发现是在解压war文件出现input为null, 而 input= jar.getInputStream(entry);然后提高tomcat的debug级别。可以在tomcat的log文档看到 tomcat解压war文档的过程。发现如果某些文件名为???.txt,经检查发现原来这个文件的文件名为汉字。
      噢!才发现war 文件在解压的过程中无法处理汉字的文件名。(因为找不到文件名为???.txt的文件而导致null例外。原来这个文件是个注释文档),所以在使用ant 把web应用程序打包为war文件,一定要把文件名为汉字的文件去掉。使用Forte for java的IDE工具把web应用程序打包为war文件会 不包含这些文件名为汉字的文件


下面是部分war文档解压的部分代码
.........................................
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值