java 源程序如下:
package cn.java;import java.awt.*;
import java.awt.datatransfer.*;public class Test{
public static void main(String[] args) throws Exception{
System.out.println("Hello, world");
}
}源程序放在在 D 盘根目录,并运行:
D:\> javac -d . Test.javaD 盘根目录下创建一个名为 manifest.mf 的文件,内容只有一行语句和一个回车符:
Main-Class:cn.java.Test然后在D盘根目录下运行:
D:\>jar cvfm cn.jar manifest.mf cn/java/却老是出这样的错误:java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:393)
        at java.util.jar.Manifest.read(Manifest.java:167)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at sun.tools.jar.Main.run(Main.java:123)
        at sun.tools.jar.Main.main(Main.java:903)

解决方案 »

  1.   

    jar cvf cn.jar *.javamanifest文件会自己生成吧兄台
      

  2.   

    D:\>jar cvfm cn.jar manifest.mf cn/java/
       ||
       \/
    D:\>jar cvfm cn.jar manifest.mf ./cn/java/
    试试
      

  3.   

    jar -cvf cn.jar *.class
      

  4.   

    invalid header field
    报这样的错误 应该是 jar 包名称 和 manifest的名称顺序写反了你自己好好检查一下
      

  5.   

    manifest.mf应该还是这个文件的问题,看看是不是真有这个文件,是不是建到别的文件夹里了?
      

  6.   

    Main-Class:cn.java.Test我试了一下
    改成下面 就可以了
    Main-Class:<空格>cn.java.Test<回车>;