87,991
社区成员
发帖
与我相关
我的任务
分享搜集了产生java.io.IOException:invalid header field异常的几个常见问题:
1、Class-path: 的冒号后面要加一个空格
java.io.IOException: invalid header field异常(tomcat5.5中)
是因为MAINFEST.MF文件的Class-path:后面少了一空格
Manifest-Version: 1.0
Class-Path:
2、Main-Class: 的冒号后面要加一个空格。
java.io.IOException:invalid header field
at java.util.jar.Attributes.read<Attributes.java:359>
ar...
...
异常位置省略。
当时我的manifest.mf文件内容为:
Manifest-Version: 1.0
Main-Class:My1
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
出现这个错误后,我反复看了命令格式和manifest的内容,并没有错误。
后来仔细看了下正确的mf格式,发现Main-Class:My1冒号后面要加一个空格。
正确格式如下:
Manifest-Version: 1.0
Main-Class: My1
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
3、Manifest-Version: 1.0和Class-Path: 之间不允许有空行。
今天神奇一样的遇到了一个异常:java.io.IOException: invalid header field ,昨天还好好的代码,今天就变成不能运行了。
然后在网上查找了一下,发现原因是由于META-INF下的MANIFEST.MF文件,可是我从来没有动过这个文件啊,根据网上的解决办法,我把原来
Manifest-Version: 1.0
Class-Path:
变成:
Manifest-Version: 1.0
Class-Path:
也就是去掉空行,但还是没有作用,后来又去掉底下多余的空行,结果还真的不报错了!
引自:http://hi.baidu.com/sppeivan/item/5d1f681593b31609d1d66d3d