"invalid header field"解决方案
前些时间项目需从CVS迁移至SVN,基本上不存在什么问题,唯独在Tomcat上运行以及手动export war包时会出错,其错误信息如下:
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Unknown Source)
at java.util.jar.Manifest.read(Unknown Source)
at java.util.jar.Manifest.<init>(Unknown Source)
……
刚开始也上网查了一些资料,可是都没有说到实质以及解决方案,后来一个曾经遇上这个问题的朋友指点才发现是MANIFEST.MF文件在从CVS迁移SVN上时出错了,现在回头看这个错误信息,它其实也在指示着我们Manifest方面的读取操作方面出了问题,所以我们应该想到为何会读取失败,比如格式等。
你会发现在CVS上时文件内容为:
Manifest-Version: 1.0
Class-Path:
而在SVN上时却变成:
Manifest-Version: 1.0
Class-Path:
不难发现,中间多了好几个空行,所以解决方案就是将那些空行删掉……