用jar发布程序时出现java.io.IOException: invalid header field 错误!!!
at java .util.jar.Attributes.read(Attributes.java:389)
at java .util.jar.Manifest.read(Manifest.java:182)
at java .util.jar.Manifest.(int)(Manifest.java:151)
at sun.tools .jar.Main.run(Main.java:151)
at sun.tools .jar.Main.main(Main.java:1149)
at java .util.jar.Attributes.read(Attributes.java:389)
at java .util.jar.Manifest.read(Manifest.java:182)
at java .util.jar.Manifest.(int)(Manifest.java:151)
at sun.tools .jar.Main.run(Main.java:151)
at sun.tools .jar.Main.main(Main.java:1149)
http://hi.baidu.com/sppeivan/item/5d1f681593b31609d1d66d3d
具体情况自己看吧
报错:
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:393)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:151)
at sun.tools.jar.Main.main(Main.java:1149) 原因: Bundle-Activator项的键和值之间少了一个空格
Bundle-Name: Service Tracker-based dictionary client
Bundle-Description: A dictionary client using the Service Tracker.
Bundle-Vendor: Apache Felix
Bundle-Version: 1.0.0
Bundle-Activator:com.wwt.example5.Activator
Import-Package: org.osgi.framework,
org.osgi.util.tracker,
com.wwt.example2.service
mf文件内容
abcd.mf
Manifest-Version: 1.0
Main-Class: leiming
Created-By: 1.2(Sun Microsystems Inc.)
D:\chaper\jar cfm Name.jar abcd.mf *.class
关于Manifest:
确认每行都以回车结束,否则改行将会被忽略
如果Class-Path 中的存在路径,使用"/"分隔目录.使用空行分隔主属性和package属性
使用"/"而不是"."来分隔package 和class ,比如 com/example/myapp/
class 要以.class结尾,package 要以 / 结尾
(c:新建一个JAR文件
v:输出打包结果
f:JAR文件名
m:清单文件名)
前提是系统的path路径和classpath路径都已经设置好了